2011-02-02 9 views
5

Per un po 'di storia - questa è la prima volta che ho provato a configurare un progetto symfony di prova, solo per giocarci.Progetto symfony su account CPanel

Il progetto symfony è stato installato nel seguente percorso:

~/symfony_projects/myproject/ 

Ora, con cPanel, l'httpd.conf viene generato automaticamente (ma sono sicuro si sapeva che), e utilizza ~/public_html/ come il web root e lo divide per nome di dominio (host virtuali) - quindi per questo esempio, diciamo che è ~/public_html/example.com/.

Così il progetto symfony è tutto di impostazione ora, il problema successivo stava cercando di capire come impostare il server in modo che punti alla /web parte del progetto - questo è dove ho trovato difficile.

ho provato a fare quanto segue:

ln -sf ~/public_html/libs/Symfony/data/web/sf ~/symfony_projects/myproject/web/sf 
ln -sf ~/symfony_projects/myproject/web/* ~/public_html/example.com 

che purtroppo non ha funzionato però. Quando provo ad andare a http://www.example.com mi ha appena dato un errore 500.

Altre opzioni qui? Considerando che non posso modificare lo httpd.conf. E anche se potessi, è generato automaticamente e preferirei non farlo (in cpanel).

* Aggiornamento *

Ho appena provato quello che è stato suggerito da @ Dan, ma con lo stesso problema - sempre HTTP Error 500 (Internal Server Error). Quindi, sembra che qualcos'altro sia il problema.

Ho controllato il mio error_logs ma non ho visto nulla di utile lì. C'è un altro modo in cui posso verificare per vedere qual è il problema?

* Un altro aggiornamento *

appena provato http://example.com/frontend_dev.php e funziona perfettamente - dà nessun errore a tutti, il che lo rende un po 'difficile per il debug del controllore produzione.

Quindi il controller di sviluppo funziona in modo impeccabile e la produzione sta sputando l'errore 500 - qualche idea? :/

risposta

1

Copio semplicemente tutto dal Web/(comprese le sottocartelle css /, js /, ecc.) Un livello più in alto, quindi modifica i file index.php/yourapp_dev.php 'richiedono istruzioni per riflettere il cambiamento nel percorso. Aggiungi alcune regole di riscrittura per vietare l'accesso diretto al resto delle directory e tutto è impostato su server in cui non è possibile modificare la root del documento.

+0

Bel lavoro, ma per quanto riguarda le regole di riscrittura, puoi mostrarmi cosa hai per il tuo .htaccess? – xil3

+0

In realtà, l'ho appena provato e ho ottenuto l'errore HTTP 500 (Errore interno del server) - lo stesso errore di quando ho provato con il collegamento simbolico. Ho controllato il file error_log e non mi ha dato alcuna informazione. – xil3

+0

Hai creato le directory log e cache e hai dato il permesso di scrittura? C'è qualcosa nella directory del registro? –

0

Se si guarda la voce dell'host virtuale http.conf per il progetto symfony, l'ultima riga in genere è un'istruzione di inclusione commentata. Se decommentate quella riga, aggiungete qualsiasi altra configurazione di host virtuale necessaria in quel file. Quindi riavvia apache. Qualsiasi cosa nel file verrà quindi aggiunta al posto dell'istruzione include.