Sto avendo una specie di problema bizzarro relativo all'installazione di Symfony2 da un ambiente vagabondo. L'ambiente è impostato correttamente e sta eseguendo un server Web che sta servendo i file da una cartella che è condivisa con l'ambiente vagabondo che si trova nella directory di base di vagabondo.Vagrant e symfony2
Fondamentalmente, il vagabondo viene avviato nella directory foo e quindi all'interno di foo, c'è una directory chiamata webroot. Vagrant condivide automaticamente la directory foo. Un server Apache è configurato per l'esecuzione in modo che webroot sia la directory http di base. Funziona tutto bene e sono in grado di servire HTML di base, PHP e la connessione MySQL è stata testata per essere valida.
Ho usato il compositore per installare vagamente il modo consigliato, nella directory interna/webroot/chiamata Symfony. Tutti i file ora esistono all'interno della directory corretta. La configurazione è corretta e non ci sono elementi che richieste da Symfony devono essere modificati in /config.php.
Il problema arriva quando provo a caricare /app_dev.php. Genera un'eccezione sostenendo che non è possibile creare un file denominato cache nella directory/app.
Poiché chmod + a non è supportato nella casella vagabonda che sto usando, ho scelto di impostare le autorizzazioni decompressando umask (0000) in app_dev. Supponendo che fosse un problema di autorizzazione, ho provato a usare chmod per regolare i permessi sia all'interno dell'ambiente vagabondo che all'interno di osx a 777 per tutto.
Ciò che è strano è che quando chmod un file o una directory all'interno dell'ambiente vagabondo, afferma di impostare correttamente 777, ma quando I ls -l, le autorizzazioni non sono cambiate. Tuttavia, quando chmod un file o una directory da OUTSIDE L'ambiente vagabondo all'interno della cartella webroot, le autorizzazioni persistono. Poiché symfony non dispone di autorizzazioni r/w nell'ambiente, non è in grado di creare la cache e i file di registro necessari. Quando eseguo symfony dal comando di osx, tutto funziona correttamente.
Qualcuno ha qualche idea su come modificare le autorizzazioni per la directory/webroot in modo che le cose all'interno dell'ambiente vagabondo possano effettivamente leggere e scrivere ad esso come chmod non sembra funzionare?
Questo lavoro dosen't. Chmoding o Chowning all'interno dell'ambiente vagabondo, anche quando un superutente ritorna immediatamente e le autorizzazioni/proprietà non vengono cambiate anche se i comandi vengono eseguiti correttamente. Qualche idea su come mantenere i comandi Chmod o Chown per persistere. –
Capito! Il problema era che fmode e dmode erano impostati in modo errato mentre la cartella vagabonda era montata su vboxsf. Ho semplicemente aggiunto la riga 'config.vm.synced_folder" ../gipsydanger/ ","/vagrant ",: extra => 'dmode = 777, fmode = 777'' al mio Vagrantfile. Grazie comunque! –
Ho preso alcune di questa risposta con lievi miglioramenti e l'ho trasformata in un modulo di provisioning pronto all'uso, specialmente per l'utilizzo con Symfony2. Inserito su [Github] (https://github.com/Lukx/vagrant-lamp) – Lukx