部署Laravel 5.2时出现异常的权限错误

4

我正在尝试将我的项目加载到生产服务器上。

以下是规格:

PHP版本5.6 服务器:Windows

我已经加载了所有文件并进行了chmod 777的操作。

存储 供应商 bootstrap/cache

但它一直给我以下流错误:

致命错误:未捕获的异常'UnexpectedValueException',信息为“无法打开流或文件“C:\ inetpub \ wwwroot \ websites \ mysite \ storage / logs / laravel.log”,打开流失败:权限被拒绝”在C:\ inetpub \ wwwroot \ websites \ mysite \ vendor \ monolog \ monolog \ src \ Monolog \ Handler \ StreamHandler.php第87行。堆栈跟踪:#0 C:\ inetpub \ wwwroot \ websites \ mysite \ vendor \ monolog \ monolog \ src \ Monolog \ Handler \ AbstractProcessingHandler.php(37):Monolog \ Handler \ StreamHandler->write(Array)#1 C:\ inetpub \ wwwroot \ websites \ mysite \ vendor \ monolog \ monolog \ src \ Monolog \ Logger.php(336):Monolog \ Handler \ AbstractProcessingHandler->handle(Array)#2 C:\ inetpub \ wwwroot \ websites \ mysite \ vendor \ monolog \ monolog \ src \ Monolog \ Logger.php(615):Monolog \ Logger->addRecord(400,Object(UnexpectedValueException),Array)#3 C:\ inetpub \ wwwroot \ websites \ mysite \ vendor \ laravel \ framework \ src \ Illuminate \ Log \ Writer.php(202):Monolog \ Logger->error(Object(UnexpectedValueExc在C:\ inetpub \ wwwroot \ websites \ mysite \ vendor \ monolog \ monolog \ src \ Monolog \ Handler \ StreamHandler.php的第87行。

致命错误:未捕获的异常'UnexpectedValueException',信息为“无法打开流或文件“C:\ inetpub \ wwwroot \ websites \ mysite \ storage / logs / laravel.log”,打开流失败:权限被拒绝”在C:\ inetpub \ wwwroot \ websites \ mysite \ vendor \ monolog \ monolog \ src \ Monolog \ Handler \ StreamHandler.php第87行。堆栈跟踪:#0 C:\ inetpub \ wwwroot \ websites \ mysite \ vendor \ monolog \ monolog \ src \ Monolog \ Handler \ AbstractProcessingHandler.php(37):Monolog \ Handler \ StreamHandler->write(Array)#1 C:\ inetpub \ wwwroot \ websites \ mysite \ vendor \ monolog \ monolog \ src \ Monolog \ Logger.php(336):Monolog \ Handler \ AbstractProcessingHandler->handle(Array)#2 C:\ inetpub \ wwwroot \ websites \ mysite \ vendor \ monolog \ monolog \ src \ Monolog \ Logger.php(615):Monolog \ Logger->addRecord(400,Object(Symfony \ Component \ Debug \ Exception \ FatalErrorException),Array)3 C:\ inetpub \ wwwroot \ websites \ mysite \ vendor \ laravel \ framework \ src \ Illuminate \ Log \ Writer.php(202):Monolog \ Logger->er在C:\ inetpub \ wwwroot \ websites \ mysite \ vendor \ monolog \ monolog \ src \ Monolog \ Handler \ StreamHandler.php的第87行。


交叉检查 777 是否应用于日志文件夹。 - Mansoor H
删除日志文件 - DsRaj
已经交叉检查过了,但是没有解决方案。已删除日志文件,但仍然无法正常工作。 - Gabs
请参考以下链接:https://msdn.microsoft.com/zh-cn/library/bb727008.aspx 和 https://dev59.com/X2Qn5IYBdhLWcg3wNkw4 - Mansoor H
4个回答

3

您需要允许写入日志目录 chmod -R 777 storage/logs


然后右键单击文件夹<服务器根目录>/storage/logs,并设置权限以允许写入访问。 - Valery K.

1
我曾经遇到过类似的问题,后来发现是服务器没有以正确的所有者创建文件,尽管权限设置正确。希望这能帮助到别人!我删除了那个特定的日志(我使用每日日志),然后问题就解决了。

1
你没有正确设置权限。你使用的是Windows系统,所以阅读这篇文章或者这篇文章storage文件夹及其所有子文件夹和文件应该可读可写。

完成了,但是还是出现了同样的错误,实际上无法找出原因。 - Gabs
请查看 C:\inetpub\wwwroot\websites\mysite\storage/logs/laravel.log 文件权限。可能您没有正确设置权限,例如您可能更改了文件夹的权限,但未更改其中的文件权限。 - Alexey Mezenin

-1

删除 logs 文件夹中的 laravel.log 文件。 这对我有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接