要从一开始就阻止您,没有权限问题/存储是递归的chmoded 777
,整个项目文件夹由apache:apache存储
我甚至将日志文件重命名为-old和apache创建了一个新的。。。如果它没有实际的写权限,就不允许它创建它。
在CentOS 6.6版(最终版)下运行
从git部署了这个项目,这个家园为我的同事工作。
完全错误:
[2015年5月18日星期一10:17:58][error][client 86.124.208.14]PHP致命错误:未捕获异常“UnexpectedValueException”,消息为“流或文件”/var/www/vhosts/mapper.pavementlayers.com/storage/logs/laravel-2015-05-18.log“无法打开:无法打开流:权限被拒绝”。铺路层。com/vendor/monolog/monolog/src/monolog/Handler/StreamHandler。php:84\n堆栈跟踪:\n#0/var/www/vhosts/mapper。铺路层。com/vendor/monolog/monolog/src/monolog/Handler/RotatingFileHandler。php(88):Monolog\Handler\StreamHandler-
这对我有效,Laravel 5.4及以上
$ sudo chmod -R 755 storage/
$ sudo chown -R www-data storage/
$ sudo chgrp -R www-data storage/
$ php artisan cache:clear
$ php artisan config:cache
$ composer dumpautoload
并非所有步骤都是必要的。
尝试这些命令laravel 5
$ php artisan cache:clear
$ sudo chmod -R 777 app/storage
$ composer.phar dump-autoload
发生这种情况是因为laravel没有写入日志文件的权限,至少对我来说是这样。
可能是SElinux阻止Apache创建此文件。
要测试这一点,可以使用以下命令暂时禁用SElinux:
setenforce 0
这将使SElinux处于许可模式。这意味着您仍然会在SElinux日志文件中收到错误消息,但SElinux不会阻止该命令。
要再次激活SElinux,您可以键入:
setenforce 1
或重新启动CentOS服务器。
不幸的是,我在CentOS上也遇到了拉威尔5号的问题,原因是塞利努克斯。我最终禁用了SElinux。我知道这不是正确的做法,但我还没有时间让这两个人一起工作!
因此,我终于有时间进一步调查了这一点,我让SELinux与Laravel 5合作。我刚刚为可能遇到这个问题的人更新了这篇文章。如上所述,禁用SELinux不是最佳策略。
需要做三件事:
>
文件夹存储和引导/缓存需要具有正确的SELinux上下文。这可以通过以下命令实现:
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/<Laravel Site>/storage(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/<Laravel Site>/bootstrap/cache(/.*)?"
SELinux上下文需要应用于以下目录:
restorecon -Rv "/var/www/<Laravel Site>/storage"
restorecon -Rv "/var/www/<Laravel Site>/bootstrap/cache"
Apache用户需要有权在两个目录中创建文件。这可以通过CentOS 7中的ACL实现:
setfacl -R -m u:apache:rwX storage/
setfacl -R -m u:apache:rwX bootstrap/cache/
您需要做的最后一件事是再次启用SELinux。
我在本地运行的Laravel应用程序中有一个登录页面,但在生产服务器上,我收到以下错误消息(Laravel.log) 在应用/存储/视图/8d74d14da5e7fbd7b4984adefddd5a1b中生成的代码是: 有什么想法吗? 谢谢你
我很好奇为什么
所以我正在尝试为我的网站实现一个支付解决方案,经过相当多的研究,我仍然缺乏一个完整的解决方案。我正在运行Laravel 5.0,需要一般购物车付款功能。我想我会发布这篇文章,试图创建一个参考,以帮助其他可能有这个问题的人。我已经把测试事务放到了Paypal的沙箱中,这似乎是砖墙的所在,但是一个完整的概述会很有帮助。我将列出我需要克服的问题,以便解决一些问题。 完成支付解决方案实施需要解决的问题 >
我在中编写查询时遇到问题。 我的疑问是 现在我想把这个查询转换成laravel eloquent。
在laravel项目中查看composer.json文件,我可以找到以下内容 据我所知,App\:“App/”表示以App开头的名称空间在App/目录下有其源文件,它位于psr-4之后。 但是,在供应商目录下有成吨的包,例如以Illumb.开头的包。。它们在psr-4或类地图下吗?为什么它们没有在作曲者中声明。json文件?
我插入如下字段: 但在SQLite中,默认值是“CURRENT_TIMESTAMP”,它不起作用(不替换为当前日期)。字段必须具有值CURRENT_TIMESTAMP,然后才能工作。这可以在拉维尔完成吗?