2013-04-27 78 views
9

剛剛使用Laravel 4第一次使用版本3幾個項目後,但似乎無法讓Artisan工作。我做了一堆搜索,並按照我能找到的故障排除步驟進行,但沒有運氣。Laravel 4工匠根本沒有工作

  • 我有這個Mcrypt安裝
  • 我沒有引導/ compiled.php要刪除的文件
  • 我有最新版本的框架從GitHub
  • 我在作曲的最新版本

當我嘗試 「作曲家更新」 我得到這個錯誤:

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

...沒有額外信息。

試圖運行「PHP工匠列表」或任何其他工匠的命令只是給我沒有輸出。

任何想法?

+0

也許嘗試優化命令[與--verbose選項](https://github.com/laravel/framework/issues/1050)?此外,您的PHP日誌中的任何內容?你運行的是哪個版本的PHP? – halfer 2013-04-27 14:30:13

+0

沒有與--verbose選項的運氣。 PHP日誌在哪裏存儲這樣的東西,只是在本地運行?我習慣於檢查服務器上的error_log文件,但不確定何時這樣做。運行5.4.4 – ARW 2013-04-27 14:35:37

+0

它會在你的'php.ini'中配置,[見這裏](http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log)。我沒有使用Composer,但是我想知道它是否抑制了一些嚴重錯誤(例如它需要的PHP模塊)。你有沒有在控制檯上檢查Mcrypt的存在(從你的問題,我認爲它需要),而不是Web服務器? – halfer 2013-04-27 14:39:38

回答

9

爲了總結評論中的討論,我們發現在php.ini級別添加日誌記錄顯示了Composer控制檯界面未報告的PHP錯誤。我想知道你是否以root用戶的身份安裝了Composer,並且Laravel所需的一些關鍵文件對於非特權用戶來說是無形的。

+1

接下來稍微介紹一下,只是想提一下,工匠默認情況下會登錄到應用/存儲/日誌/日誌文件夾-.txt。我拼錯了依賴接口,並且所有的php錯誤都被傳送到該文件。 – ontek 2013-05-22 18:48:30

2

運行phpinfo後,我注意到「--disable-mbregex」是PHP配置的一部分,這意味着PHP沒有使用mbregex擴展進行編譯。我的錯誤日誌顯示「調用未定義函數mb_regex_encoding」。

一旦PHP與mb_regex_encoding重新編譯,問題就消失了。

2

如果您遺漏了/bootstrap/start.php文件,您不會收到來自工匠和作曲家的有用錯誤消息,它們的響應方式相同。我四處奔波,試圖找到我在網上找到的解決方案,最終發現這個文件丟失了。我替換它後立即重新聯機。我發現這個文件在我的PHP錯誤日誌中丟失,並且由於無法運行,工匠沒有生成日誌。

2

我有類似的問題。即使命令$ php artisan --verson也不會產生任何輸出。事實證明,我有一些app/start/global.php下的代碼,這些代碼在CLI執行過程中破壞了(但沒有破壞網絡端)。

所以這是另一個地方檢查的東西! (app/start/global.php

2

我得到這個問題,這是因爲storage的子目錄尚不存在。

當然,這些目錄是由項目創建腳本創建的,但它們很容易脫離源代碼管理,因此在新克隆的項目中會丟失。 .gitignore文件在那裏是有原因的!

1

storage文件夾中的文件不能寫入當前用戶時,發生此問題。 php artisan默默失敗,沒有輸出。更改權限幫助。