exception处理程序中出错。 – Laravel

这是一个Laravel安装相关的问题。 我有一个面向公众的Unix服务器设置:

<VirtualHost *:80> ServerAdmin webmaster@mydomain.org DocumentRoot "/var/www/mydomain" ServerName mydomain.org ServerAlias www.mydomain.org ErrorLog "/var/log/mydomain.org-error_log" CustomLog "/var/log/mydomain.org-access_log" common </VirtualHost> 

我可以用/ var / www / mydomain来提供文件,例如: http ://mydomain.org/test.php,test.php包含:

 <?php echo 'test'; 

工作正常。

在bash中,通过Composer安装Laravel并查看这些文件:

 # ls /var/www/mydomain/my-laravel-project .gitattributes CONTRIBUTING.md artisan composer.json phpunit.xml readme.md vendor .gitignore app bootstrap composer.lock public server.php 

所以当我浏览到:

 http://mydomain.org/my-laravel-project/public/ 

为什么我的申请报告:

 Error in exception handler. 

在浏览器中 – 在一个空白的白色屏幕上? 我期待看到Laravel启animation面。

而且,日志文件也不会透露任何东西。

更安全的select是将存储目录组更改为您的Web服务器组(通常为apachewww-data ,但是这可以在不同的操作系统之间有所不同),并保持目录的权限为775

 chgrp -R www-data app/storage 

或与chown

 chown -R :www-data app/storage 

然后确保目录权限是775

 chmod -R 775 app/storage 

从Laravel网站 :

Laravel可能需要configuration一组权限:应用程序/存储器内的文件夹需要Web服务器的写入权限。

Laravel 5.2

chmod -R 777存储

旧的Laravel chmod 777 app / storage / *

注意,如果你有一个合理的locking专用服务器没有用户帐户以外的其他用户帐户,777应该不会构成比其他任何更多的安全风险。 对于恶意用户来说,必须要有一些其他漏洞才能利用这个漏洞,而在这一点上,777权限可能无论如何都是无稽之谈。 但是,如果您与其他用户共享的服务器上不受信任,那么您需要查看更复杂的权限,或者检查您的主机提供商是否已经提供隔离。

他们应该把这个放在快速启动的文档中,并提供各种设置的例子。 您可能还必须在第一次加载后再次运行它,因为会自动创build更多的目录。 查看日志中是否有写入错误。

另外你的DocumentRoot应该是/ path / to / laravel-project / public

我删除了app/storage/sessions文件夹中的旧会话,然后授予app/storage 775权限,之后它就像一场火灾!

 chmod -R 775 app/storage 

祝你好运!

很久很久以前,这个潮stream已经传遍了,但是我还有一个关于“exception处理程序错误”的build议。

当我运行“php工匠”时,发生了这种情况,这是评估您的环境是否正常工作的好方法。

我跑了它,它给了我这个错误,我不能指出的问题,直到我编辑我的项目的根目录中的artisan文件,并添加一个try catch语句:

 try { $artisan = Illuminate\Console\Application::start($app); } catch (Exception $e) { dd($e->getMessage()); } 

我终于看到了一个启发性的信息:

 string(41) "Connection refused [tcp://127.0.0.1:6379]" 

在我的情况下,这是一个糟糕的redisconfiguration,但在你的情况可能是任何东西。

我希望这有助于某人,或者至less下次我到这里时,我会find自己的答案。

解决这个问题的最简单的方法就是用sudo开始工匠。 这将给工匠所需的所有权限,也不会造成任何安全问题。

所以而开始工匠服务与:

 $ php artisan serve 

尝试使用:

 $ sudo php artisan serve 

因此你不必做任何权限更改

我有同样的问题,我只是将目录应用程序/存储的权限更改为775用chmod命令行