Jos*_*ain 12 php laravel laravel-4
我在本地OSX机器上设置了Laravel宅基地,一切似乎都顺利进行,直到我试图打开example.app:8000并得到此错误:
Error in exception handler: The stream or file "/home/vagrant/Code/example/app/storage/logs/laravel.log" could not be opened: failed to open stream: Protocol error in /home/vagrant/Code/example/bootstrap/compiled.php:8671
Run Code Online (Sandbox Code Playgroud)
我跟着Laravel文档和Laracast关于建立宅基地,所以我不确定是什么原因引起的.我可以看到它/home/vagrant/Code/example/app/storage/logs/laravel.log不存在,但我认为这应该是自动创建的?
Dan*_*ker 46
您下面的所有文件和文件夹app/storage都应该是可写的,并且可以将www-data(网络服务器)分组.
异常处理程序出错:无法打开流或文件"laravel/app/storage/logs/laravel.log":无法打开流:laravel/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler中的权限被拒绝.PHP:77
如果您在访问站点时在浏览器中收到此错误(或类似错误),则该组www-data无法写入app/storage.如果在执行某些php artisan命令时出现此错误,则您(用户)无法写入app/storage.因此,您和www-data组都必须具有写入权限.
要确保文件和文件夹具有正确的权限:
转到Laravel安装的根目录(在哪里composer.json和artisan现场).
更改拥有的用户和组,yourusername您的用户名在哪里:
sudo chown -R yourusername:www-data app/storage
Run Code Online (Sandbox Code Playgroud)
这个递归(-R)将用户:组所有者设置为yourusername:www-data从app/storage之后的所有文件和文件夹.
为您和www-data组添加写入权限:
sudo chmod -R ug+w app/storage
Run Code Online (Sandbox Code Playgroud)
这个递归(-R)将+write flag(w)添加到user(u)和group(g),从而拥有文件和文件夹app/storage.
此外,有些人建议您可能需要刷新应用程序缓存.
php artisan cache:clear
Run Code Online (Sandbox Code Playgroud)最后,您可能想要重新生成Composer的自动加载文件.
composer dump-autoload
Run Code Online (Sandbox Code Playgroud)您需要运行以下命令之一:
sudo chmod -R 644 app/storagesudo chmod -R 755 app/storage| 归档时间: |
|
| 查看次数: |
42894 次 |
| 最近记录: |