2017-02-27 112 views
1

我不斷收到試圖部署laravel應用到生產服務器時,此錯誤:Laravel InvalidArgumentException在RouteRegistrar.php線75:

InvalidArgumentException in RouteRegistrar.php line 75:

in RouteRegistrar.php line 75 
at RouteRegistrar->attribute('after', object(AfterFilter)) in Router.php line 1085 
at Router->__call('after', array(object(AfterFilter))) in BootProviders.php line 17 
at Router->after(object(AfterFilter)) in BootProviders.php line 17 
at Application->boot() in BootProviders.php line 17 
at BootProviders->bootstrap(object(Application)) in Application.php line 208 
at Application->bootstrapWith(array('Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables', 'Illuminate\\Foundation\\Bootstrap\\LoadConfiguration', 'Illuminate\\Foundation\\Bootstrap\\HandleExceptions', 'Illuminate\\Foundation\\Bootstrap\\RegisterFacades', 'Illuminate\\Foundation\\Bootstrap\\RegisterProviders', 'Illuminate\\Foundation\\Bootstrap\\BootProviders')) in Kernel.php line 160 
at Kernel->bootstrap() in Kernel.php line 144 
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116 
at Kernel->handle(object(Request)) in index.php line 54 

奇怪的是,我不明白這個錯誤在我的本地機器上。我的機器和生產服務器的PHP版本幾乎完全相同(服務器上的5.6.25和機器上的5.6.26)。

有沒有人有任何想法可能會導致此錯誤?

+0

您使用的是哪個版本的Laravel?你有一個有效的.env文件嗎?您的部署步驟是什麼? – PeterPan666

+0

Laravel v5.4 .env文件存在且有效。 該代碼是從git存儲庫克隆的,然後執行「composer install」。當它嘗試運行「php artisan optimize」時發生該錯誤。但是我也在頁面上看到錯誤。 – Lloyd

+0

您是在部署時還是在嘗試訪問您的網站? – PeterPan666

回答

1

這個異常應該會拋出類似Attribute [{$key}] does not exist.的消息,您需要找到該密鑰並進行修復。看來你沒有使用正確的密鑰名稱,你可以找到允許的密碼here

protected $allowedAttributes = [ 
    'as', 'domain', 'middleware', 'name', 'namespace', 'prefix', 
]; 

拋出該異常是在RouteRegistrar.php文件attribute的方法。

+0

是的,它確實會拋出這條消息:「屬性[之後]不存在。」但問題是,這不是我的代碼產生這個問題。我也用一個股票laravel 5.4安裝來解決這個問題。 – Lloyd

+0

您是否在Laravel應用程序中使用任何其他軟件包? – PeterPan666

+0

在完整的應用程序中,我使用其他軟件包是。這就是爲什麼我使用Laravel的股票安裝來測試它是否是我的軟件包引起的問題。 我已經嘗試將它安裝在具有類似設置但php版本較高的服務器上(5.6.28)。並在該服務器上工作。 – Lloyd

相關問題