这是一个与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的启动屏幕。
此外,日志文件也没有透露任何信息。
6条答案
按热度按时间wecizke31#
更安全的选择是将存储目录组更改为您的Web服务器组(通常为
apache
或www-data
,但这在不同的操作系统之间可能有所不同),并将目录的权限保留为775
。或者用
chown
。然后确保目录权限为
775
。从Laravel web site:
Laravel可能需要配置一组权限:应用程序/存储中的文件夹需要Web服务器的写入访问权限。
vd2z7a6w2#
拉腊维尔5.2
chmod -R 777存储
旧版Laravelchmod 777应用程序/存储/*
注意,如果你有一个合理锁定的专用服务器,除了你自己的用户帐户,777应该不会带来任何安全风险。一定有其他漏洞让恶意用户利用,在这一点上,777权限可能是没有意义的。但是,如果你和其他你不信任的用户在一个共享服务器上,那么您需要查看更复杂的权限或检查您的主机提供商是否已经提供了隔离。
他们真的应该把这个放在快速启动文档中,并提供各种设置的示例。你可能还需要在第一次加载后再次运行它,因为会自动创建更多的目录。在你的日志中查找写错误。
您的文档根目录也应该是/path/to/laravel-project/public
qmb5sa223#
我删除了
app/storage/sessions
文件夹内的旧会话,并给予775
权限app/storage
之后,它的工作就像一个火!wpx232ag4#
很久很久以前,潮流已经传递了这一点,但我仍然有另一条关于“异常处理程序中的错误”的建议。
当我运行“php工匠”时,我就遇到了这种情况,这是一种评估您的环境是否总体正常工作的好方法。
我运行了它,它给了我那个错误,我不能找出问题所在,直到我编辑了我项目根目录下的artisan文件,并添加了一个try catch语句:
这时我终于看到了一条启发性的信息:
这在我的情况下是一个坏的redis配置,但在你的情况下可能是任何东西。
我希望这对某人有帮助,或者至少下次我到这里的时候我会找到自己的答案。
xwbd5t1u5#
解决这个问题的捷径是使用sudo启动artisman,这将为artisman提供它所需要的所有权限,而且不会带来任何安全问题。
所以开始的时候工匠服务是:
尝试使用:
因此,您不必进行任何权限更改
webghufk6#
我遇到了同样的问题,我只是使用chmod命令行将权限从目录app/storage更改为775