2013-04-27 25 views
9

Solo giocando con Laravel 4 per la prima volta dopo aver usato la versione 3 per alcuni progetti, ma non sembra che Artisan possa funzionare. Ho fatto un sacco di ricerche e ho seguito i passaggi di risoluzione dei problemi che ho trovato ma senza fortuna.Laravel 4 Artisan non funziona affatto

  • Ho Mcrypt installato
  • ho avuto alcun file di bootstrap/compiled.php eliminare
  • Ho l'ultima versione del framework da Github
  • Sono sull'ultima versione del compositore

Quando provo "aggiornamento compositore" ottengo questo errore:

Script php artisan optimize handling the post-update-cmd event returned with an error: 

... senza ulteriori informazioni.

Provare a eseguire "php artisan list" o qualsiasi altro comando artigiano non mi dà alcun risultato.

Qualche idea?

+0

Forse provare il comando di ottimizzazione [con l'opzione --verbose] (https://github.com/laravel/framework/issues/1050)? Inoltre, qualcosa nei tuoi log di PHP? Quale versione di PHP stai usando? – halfer

+0

Non ho fortuna con l'opzione --verbose. Dove verrebbero archiviati i log di PHP per cose come questa che funzionano solo localmente? Sono abituato a controllare il file error_log su un server ma non sono sicuro quando lo faccio in questo modo. In esecuzione 5.4.4 – ARW

+0

Sarà configurato nel tuo 'php.ini', [vedi qui] (http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log). Non ho usato Composer, ma mi chiedo se stia eliminando qualche errore critico (come un modulo PHP di cui ha bisogno). Hai controllato la presenza di Mcrypt (che dalla tua domanda presumo sia necessario) sulla console, al contrario del server web? – halfer

risposta

9

Per riepilogare la discussione nei commenti, abbiamo scoperto che l'aggiunta della registrazione al livello php.ini ha rivelato un errore PHP non segnalato dall'interfaccia della console Composer. Mi chiedo se tu abbia installato Composer come root, e quindi alcuni file critici richiesti da Laravel erano effettivamente invisibili per un utente non privilegiato.

+1

Venendo a questo un po 'più tardi, volevo solo ricordare che l'artigiano, per impostazione predefinita, registra in app/storage/logs/log-cli- .txt. Ho sbagliato a scrivere un'interfaccia di dipendenza e tutti gli errori di php sono stati convogliati su quel file. – ontek

2

Dopo aver eseguito phpinfo, ho notato che "--disable-mbregex" faceva parte della configurazione di PHP, il che significa che PHP non era compilato con l'estensione mbregex. I miei log degli errori mostravano "Chiama alla funzione non definita mb_regex_encoding".

Una volta ricompilato PHP con mb_regex_encoding, il problema è andato via.

2

Se manca il file /bootstrap/start.php, non si ottengono utili messaggi di errore da artisan e compositore risponde nello stesso modo. Sono andato in giro cercando soluzioni che ho trovato online e alla fine ho scoperto che questo file mancava. Ero di nuovo online non appena l'ho sostituito. Ho scoperto che questo file era mancante nei miei log degli errori PHP e artisan non stava generando i log poiché non era in grado di funzionare.

2

Ho avuto un problema simile. Anche il comando $ php artisan --verson non produrrebbe alcun output. Venuto fuori, ho avuto qualche codice sotto app/start/global.php che si stava rompendo sotto l'esecuzione della CLI (ma non si rompeva sul lato web).

Quindi questo è un altro posto per controllare le cose! (app/start/global.php)

2

Stavo avendo questo problema, ed era perché le sottodirectory di storage non esistevano ancora.

Ovviamente, queste directory sono create dallo script di creazione del progetto, ma sono abbastanza facili da lasciare fuori dal controllo del codice sorgente e quindi mancheranno su un progetto appena clonato. I file .gitignore sono lì per un motivo che sembrerebbe!

1

Questo problema si è verificato per me quando c'erano file nella cartella storage che non erano scrivibili per l'utente corrente. php artisan silenziosamente non riuscito, senza output. Cambiare le autorizzazioni ha aiutato.

Problemi correlati