La distribuzione di un progetto Symfony2

Stavamo lavorando su un progetto Symfony2. Ora, è finito e pronto per essere distribuito. Abbiamo caricato l’intero progetto di file sul server (tramite ftp, naturalmente) e il database. Ora, quando si apre una pagina qualsiasi di esso abbiamo ottenuto solo una pagina vuota (empty codice sorgente). La Cache è pulito, log non mostra nulla di nuovo. Abbiamo cercato su google la procedura di implementazione di un progetto Symfony2 per un hosting, ma non abbiamo trovato una buona spiegazione (anche questi erano su Symfony non-versione-2).
Crediamo forse un problema di configurazione, ma nessuna idea finora.
Qualsiasi aiuto sarà molto apprezzato.
Grazie in anticipo.

Edit: la pagina vuota, in Firefox. Google Chrome è tutto dire:

Errore del Server Il sito si è verificato un errore durante il recupero
http://*.com/mammoky/web/app_dev.php/main. Potrebbe essere giù per
manutenzione o configurato in modo non corretto. Qui sono alcuni suggerimenti:
Ricarica questa pagina web successiva. Errore HTTP 500 (Internal Server Error): Un
condizione imprevista è verificato mentre il server è stato il tentativo
per soddisfare la richiesta.

error_log mostra:

[24-Mar-2012 23:29:24] PHP Parse error: syntax error, unexpected
T_STRING, expecting T_CONSTANT_ENCAPSED_STRING o ‘(‘ in
/home/leadow33/public_html/mammoky/web/app.php sulla linea 7

È: use Symfony\Component\HttpFoundation\Request;
E

[24-Mar-2012 23:15:08] PHP Warning: Imprevisti di carattere in input:
‘\’ (ASCII=92) stato=1
/home/leadow33/public_html/mammoky/web/config.php in linea 84

È: $riflettore = new \ReflectionExtension(‘intl’);


EDIT: ho postato la mia soluzione, check it out qui.

Hai provato ad usare il app_dev.php ? che cosa si ottiene ? ancora vuota ?
Sì, ancora vuoto. Ho scoperto in Chrome che mostra questo messaggio: errore del Server Il sito si è verificato un errore durante il recupero http://*****.com/mammoky/web/app_dev.php/main. Potrebbe non essere disponibile per manutenzione o configurato in modo non corretto. Qui sono alcuni suggerimenti: Ricarica questa pagina web successiva. Errore HTTP 500 (Internal Server Error): Una condizione imprevista è verificato mentre il server è stato il tentativo di soddisfare la richiesta. Non sembra che alcuni sens?
“Abbiamo caricato tutto il progetto … (via ftp, naturalmente)” – se possibile, spostare verso il controllo di versione del software per la distribuzione, o, in mancanza, rsync – o sarebbe distribuzione molto più facile per voi. FTP non è un buon modo per distribuire le modifiche del codice.
Symfony2 è un quadro professionale, è stato pensato per essere utilizzato su un VPS o un server dedicato con un accesso SSH. La distribuzione su un hosting condiviso tramite FTP sarà solo causare problemi futuri e sarà solo costare più soldi nel lungo periodo.
va bene, nessun problema, abbiamo appena prenotato un “antipasto” di hosting per il test, il nostro sito è ancora in fase di sviluppo . ci spostiamo in un server dedicato di avere accesso SSH. Grazie mille per i consigli Hubert.

OriginaleL’autore Nadjib Mami | 2012-03-24

4 Replies
  1. 24

    Risposta:

    Ho preso a lavorare, questa è la mia esperienza:

    • Caricare l’intera cartella del progetto per il server.
    • Inserire www.your-website.com/project-name/web/config.php.
    • Si dovrebbe dire: “Questo script è accessibile solo da localhost”.
    • Aperto questo sito web: http://www.whatismyip.com, dovrebbe mostrare il vostro indirizzo IP pubblico, copia di esso.
    • Aprire il config.php dal pannello di amministrazione (come cPanel) e modificare il config.php:

    if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1', /*your IP here*/))) {
        header('HTTP/1.0 403 Forbidden');
        die('This script is only accessible from localhost.');  
    }

    • Aggiornare il tuo config.php file, la pagina vi dirà se il vostro sistema è mancante di alcune condizioni come: versione PHP, APC estensione, dare /cache e /registro autorizzazioni per le cartelle di scrivere, etc.
    • Dopo aver fornito le necessarie condizioni vedrete un modulo di configurazione di progetto per la connessione a un database, se si dispone di uno, questo passo è abbastanza semplice.
    • Aprire il link www.your-website.com/project-name/web/app_dev.php, vi aiuterà a iniziare con un progetto Symfony2.
    • Nel caso In cui avete ottenuto in app_dev.php questo messaggio: You are not allowed to access this file... solo fare la stessa cosa per app_dev.php come avete fatto nei passaggi 4 e 5 (di aggiungere il vostro indirizzo IP pubblico per l’array).

      Nota di Hakan Deryal (commento): Se non hai un indirizzo IP fisso, è necessario fare questo ultimo passaggio ogni volta che si ottiene un nuovo indirizzo IP adrdress dal DHCP. Quindi, per risolvere questo, aprire il app_dev.php e commentare la riga die('You are not allowed to.., però, questo non è un metodo consigliato perché si sta disattivando il built-in di protezione del file.
    • Una cosa che mi ha fermato e potrebbe smettere di voi, il server ho sviluppato il progetto, è case-sensitive (a differenza di localhost sul mio computer), così continuava a dirmi che il modello (Index.html.php per esempio) non esiste, però esiste, ma l’ho fatto return $this->render('...:index.html.php') con piccolo i in DefaultController.php. Quindi, rendere l’esatto modello (file) nome con le stesse lettere casi.

    Ora tutto sta andando bene, spero che ti aiuta.

    Grazie @Nadj, +1.
    Che non è un buon modo per distribuire un’applicazione. app_dev.php deve essere utilizzato solo per scopi di sviluppo, e dovrebbe essere disabilitato o protetti in ambiente di produzione, per motivi di sicurezza. Con la procedura descritta sopra, l’utente di disabilitare il built-in caratteristiche di sicurezza, che può risultare in un sistema compromesso.
    Sì confermo, non è il modo migliore, è solo il modo in cui ho capito di lavoro , se si dispone di una migliore alternativa di alcuni passaggi di cui sopra, quindi si prega di postare. Sto solo vivendo la cosa che ho bisogno di un esperto.
    Penso di aver risolto il problema che hai parlato di “disabilitazione della funzionalità di sicurezza integrate” del file app_dev.php aggiungendo l’indirizzo IP per la matrice di “permesso di accessi in questo file.

    OriginaleL’autore Nadjib Mami

  2. 3

    Nel mio caso era la versione di php* e ho catturato l’errore in esecuzione config.php con rimozione delle righe per la verifica dell’indirizzo ip. Sul mio hosting ho appena cambiato la versione di default di PHP per il mio script.

    *Poiché gli spazi dei nomi sono solo di 5.3.

    Stesso problema qui.

    OriginaleL’autore Peter Csiba

  3. 0

    produzione non app_dev ma app.. La pagina potrebbe essere lo stesso hai fatto a vedere il sorgente? Hai provato ad eseguire il config.php che viene fornito con il quadro zip ?

    La fonte è vuoto. In esecuzione config.php (ottima idea che ho dimenticato su di esso) è, dicendo: Questo script è accessibile solo da localhost.
    In cima config.php si dovrebbe avere un array di indirizzi IP consentiti. Si potrebbe aggiungere la vostra temporaneamente non c’e ricaricare il file.
    L’ho fatto ma ancora vedere il problema: Questo script è accessibile solo da localhost. In modo strano, questo è il codice: if (!in_array(@$_SERVER['REMOTE_ADDR'], array( '127.0.0.1', '::1', 'my.ip.adr.ess', ))) { header('HTTP/1.0 403 Forbidden'); die('This script is only accessible from localhost.'); }
    Infatti, strano causare l’ho fatto molte volte e ha funzionato. Sei sicuro di mettere il tuo indirizzo IP pubblico? Io uso questo servizio è: whatismyip.com
    Indirizzo del sito web che si intende? Sì, sto già aprendo la CPanel attraverso l’indirizzo: il mio.ip.ind.ess:2082. sono di destra?

    OriginaleL’autore GorillaApe

  4. 0

    Se l’installazione viene eseguito sul server web, provare a impostare la riga seguente nel app.php:

    date_default_timezone_set('America/Los_Angeles');

    Questo risolve il problema nel mio caso.

    OriginaleL’autore turtec

Lascia un commento