Home Articles

连接到localhost时的Laravel 5 '..failed to open stream: Permission denied'异常[重复]

Asked
Viewed 1867 times
6

这个问题在这里已有答案:

设置了一个项目,当尝试连接到本地主机时,我在控制台中收到此错误:

[2015年8月12日星期三21:26:46] 127.0.0.1:50079 [500]:/ - 未捕获的异常'UnexpectedValueException',消息'流或文件“/CT/storage/logs/laravel.log”不能打开:无法打开流:权限被拒绝'在/CT/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:87堆栈跟踪:0 / CT / vendor / monolog / monolog / src / Monolog / Handler / AbstractProcessingHandler.php(37):Monolog \ Handler \ StreamHandler-> write(Array)1 /CT/vendor/monolog/monolog/src/Monolog/Logger.php(289):Monolog \ Handler \ AbstractProcessingHandler-> handle(Array) 2 /CT/vendor/monolog/monolog/src/Monolog/Logger.php(565):Monolog \ Logger-> addRecord(400,Object(UnexpectedValueException),Array)3 / CT / vendor / laravel / framework / src / Illuminate /Foundation/Exceptions/Handler.php(49):Monolog \ Logger-> error(Object(UnexpectedValueException))4 /CT/app/Exceptions/Handler.php(30):Illuminate \ Foundation \ Exceptions \ Handler-> report( Object(UnexpectedValueException))5 / CT / vendor / laravel / framework / src / Illuminate / Founda / / Bootstrap / HandleExceptions.php(79):App \ Exceptions \ Handler-> report(第87行的/CT/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php中的Ob

我已经按照其他的说明递归调用问题文件夹上的chmod 777(即使这是不好的做法),但仍然没有运气 .

这似乎是一个相当普遍的问题,但我找不到任何有用的东西 .

1 Answer

  • 6

    简短版本:除了需要写入权限的 folder 之外,您还需要对文件本身的写入权限 .

    /CT/storage/logs/laravel.log
    

    尝试

    chmod 777 storage/logs/laravel.log
    

    长版本:Unix权限已经并将继续困扰PHP开发人员,直到时间结束 .

    问题是's no simple 1836816 answer here. What your permissions need to be will depend on how you'重新运行您的Web服务器( mod_php 与fastcgi),您当前的用户帐户是什么,这些帐户的关系(他们在哪个组),以及最初创建日志文件的方式 . 如果您首先通过从命令行运行PHP来创建日志文件,则该文件将归您所有 . 如果您是通过从Web浏览器运行PHP首次创建它,则该文件将由Web服务器用户拥有 .

    祝好运!

Related