【发布时间】:2017-09-04 20:32:51
【问题描述】:
我已经基于this tutorial在nginx上安装了laravel .当我运行我的服务器 IP 地址时,会出现一个空白页面。 这是 nginx 错误日志:
2016/09/15 12:40:59 [error] 2857#0: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/laravel/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied' in /var/www/laravel/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107
Stack trace:
#0 /var/www/laravel/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\StreamHandler->write(Array)
#1 /var/www/laravel/vendor/monolog/monolog/src/Monolog/Logger.php(336): Monolog\Handler\AbstractProcessingHandler->handle(Array)
#2 /var/www/laravel/vendor/monolog/monolog/src/Monolog/Logger.php(615): Monolog\Logger->addRecord(400, Object(UnexpectedValueException), Array)
#3 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Log/Writer.php(202): Monolog\Logger->error(Object(UnexpectedValueException), Array)
#4 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Log/Writer.php(113): Illuminate\Log\Writer->writeLog('error', Object(UnexpectedValueEx...
PHP message: PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/laravel/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied' in /var/www/laravel/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107
Stack trace:
#0 /var/www/laravel/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\StreamHandler->write(Array)
【问题讨论】:
-
也许您忘记了权限命令的
-R标志?试试chown -R :www-data /var/www/laravel、chmod -R 775 /var/www/laravel/bootstrap/cache和chmod -R 775 /var/www/laravel/storage。你也可以只给chmod -R 777 /var/www/laravel,它肯定会起作用,但如果有人闯入你的服务器,你的应用源文件可能会被泄露。 -
我尝试了你提到的所有权限,但没有运气,仍然是同样的问题
-
您能否在文件夹
/var/www/laravel/storage和/var/www/laravel/storage/logs中运行ls -lah并将输出添加到您的答案中? -
我会在几分钟内完成。现在我正在安装一个新的 ubuntu 以再次尝试。我记得当我通过composer安装laravel时没有
storage文件夹,所以我手动创建它然后运行权限:sudo chmod -R 775 /var/www/laravel/app/storage -
已解决。这是由于
laravel/app/storage。这个目录在 laravel 5.2 中不存在,而是有laravel/storage所以应该给这个目录分配权限!