我正在使用拥有所有者的Apache Web Server _www:_www.我永远不知道文件权限的最佳做法是什么,例如当我创建新的Laravel 5项目时.
Laravel 5要求/storage文件夹可写.我找到了许多不同的方法来使它工作,我通常最终以777递归方式使用chmod.我知道这不是最好的主意.
官方文件说:
Laravel可能需要配置一些权限:Web服务器中的文件夹,
storage并vendor要求Web服务器进行写访问.
这是否意味着Web服务器本身也需要访问storage和vendor文件夹本身或仅需要访问其当前内容?
我认为更好的是改变所有者而不是权限.我递归地更改了所有Laravel的文件权限_www:_www,这使得网站正常工作,就像我将chmod更改为777.问题是,现在我的文本编辑器每次要保存任何文件时都要求我输入密码,如果我尝试在Finder中更改任何内容,就会发生同样的情况,例如复制文件.
解决这些问题的正确方法是什么?
chmodsudo我在laravel很新,事实上我正在努力创建我的第一个项目.由于某种原因,我一直收到这个错误(我还没有开始编码)
Error in exception handler: The stream or file "/var/www/laravel/app/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied in /var/www/laravel/bootstrap/compiled.php:8423
Run Code Online (Sandbox Code Playgroud)
我读过这与权限有关,但chmod -R 775 storage根本没有帮助.

我在设置Laravel 4时遇到问题.打开索引页面时出现此错误:
file_put_contents(/Users/laravel/app/storage/meta/services.json)[function.file-put-contents]:
无法打开流:权限被拒绝.
我在这里错过了什么?
在阅读了Laravel4测试版的发布后,我第一次尝试Laravel.
我按照这些步骤安装了composer和laravel以及它所需的所有依赖项.我把laravel放在我的~/public_html目录中 - 因为我习惯用Codeigniter 来做,但我觉得这里有些不对劲.
如果我指向浏览器http://localhost/~carlo/laravel-develop/,它只显示目录的内容.
然后,在文件系统上我有一个laravel-develop/public文件夹,它没有出现在浏览器上.
我发现改变了.htaccess这样的:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我尝试访问公用文件夹时导致错误.错误:
ErrorException:警告:file_put_contents(/ home/carlo/public_html/laravel-develop/app/config /../ storage/meta/services.json):无法打开流:/ home/carlo/public_html/laravel-中的权限被拒绝 - develop/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php第77行
另一个:
/home/carlo/public_html/laravel-develop/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php第77行
然后是一长串的错误.最后一个是:
/home/carlo/public_html/laravel-develop/public/index.php第53行中的require_once('/ home/carlo/public_html/laravel-develop/start.php')
嗯,这个错误是如此知道,但在我的情况下,我无法缓解它在我身边.我已将laravel-4安装迁移到另一台服务器,并且第一次访问时出现此错误:
file_put_contents(/var/www/html/MyApp/app/storage/meta/services.json):无法打开流:权限被拒绝
我跟着不同的googled aswers如下
但是,他们中的任何一个都无法解决我的问题.我还尝试清理缓存并转储autoclass命令:
php artisan cache:clear
chmod -R 777 app/storage
composer dump-autoload
Run Code Online (Sandbox Code Playgroud)
另外,我认为可能会在问题中考虑Web服务器进程,因此我会像这样寻找其用户:
$ ps -ef|grep httpd
apache 11978 11976 0 11:14 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
Run Code Online (Sandbox Code Playgroud)
然后,我添加apache到目录组所有者,问题仍然存在.
我不知道还能做什么,我疯了,因为在满月下裸体跳舞既没有解决问题.