我最近在Ubuntu上全新安装了Laravel时遇到了一系列问题,但是这个最新的让我感到困惑。尽管已将调试设置为true并且启用了PHP中的错误显示,但我收到了apache/php
日志或laravel日志中的零错误的WSOD。我公开更新了index.php
文件以添加die("Test");
行,以确定这是否至少有效。
很棒 - 测试显示在网站上。然而,现在它不会消失。我已尝试将文本更新为其他内容,完全删除行等,artisan cache-clear,composer cache clear和dump-autoload,并且我已清除存储文件夹中的所有缓存项目。我已经清除了我的个人缓存并尝试了不同的浏览器,因此它不是个人缓存问题。我也试过重启apache。
此时我的所有chmod权限都应该是正确的(bootstrap / cache是755,所有存储和子文件夹都是755)。我已经将laravel写入日志以寻找另一个问题(来自CLI - 我只是为了确保权限工作而进行的测试)所以这不应该是问题。
我在本地Windows机器上的laragon中工作得非常好,但是在这个Ubuntu服务器上运行并运行这个问题的任何问题都没有。我有另一个laravel的prod实例,从来没有给我这么多麻烦,在另一个Ubuntu服务器上(通常它只是一个权限问题)。真的不确定此时该做什么或者哪些信息可能有用。希望其他人遇到类似的事情并且可以解决一些问题......
答案 0 :(得分:0)
什么样的错误显示文件/ var / log / apache2 / error_log? laravel文件storage / logs / laravel.logs的内容是什么? 你是如何配置vhost的? 你用作曲家安装了laravel吗?
请提供更多信息
答案 1 :(得分:0)
原来问题在于opcache
PHP扩展。默认情况下,在我的prod环境中安装的所有PHP版本都启用了这个功能,这不是我在开发环境中使用的。写一个测试来清除opcache解决了这个特殊的问题,我已经禁用了扩展,因为我不打算使用它,无论如何。
如果其他人遇到此问题并想要禁用,我只需通过WHM Easy Apache 4并删除opcache PHP扩展,然后编辑所有PHP版本的php.ini文件以设置任何启用opcache的标志类型到0(关闭)。