Symfony:Web服务器上的Prod环境产生空白页面

30byixjq  于 2023-10-24  发布在  其他
关注(0)|答案(5)|浏览(157)

我的Symfony 3应用程序在我的本地Web服务器上运行完美。由于它安装在远程Web服务器上,它会产生一个空白页面,甚至路由也不起作用。在编辑 web/app.php$kernel = new AppKernel('prod', false);并将其设置为 true 后,应用程序按预期工作,不显示任何错误。为什么应用程序在本地和远程Web服务器上的行为不同。我错过了配置上的东西吗远程服务器?有什么建议吗?提前感谢!

cfh9epnr

cfh9epnr1#

由于我无法找出这个问题的真实的原因,我已经重新安装了我的应用程序,并更新了Symfony和 composer 的所有依赖项。虽然我对旧安装做了同样的事情,但这次它确实有用。我猜, composer 更新之前出了问题。再次感谢您的帮助!如果有人有类似的问题,我会很感激,如果你能张贴你如何解决这个问题(或为什么AppKernel 'prod'] = 'true'没有工作)。

bq8i3lrv

bq8i3lrv2#

我有合理的解释,可能是什么问题。
今年早些时候,我在使用Symfony 3时遇到了这个问题,当时我在Windows上进行开发,但手动部署(复制项目文件)到使用Linux的共享服务器上。
就像你说的-prod环境中的空白页。

  • 添加到神秘的log文件没有显示任何问题
  • 所以我启用了dev环境来检查错误
  • 如果我在URL中添加app_dev.php,应用程序将按预期工作

我不止一次地浏览了所有的文件,但是copy是正确的。
答案
过了一段时间,我在var目录中“偶然发现”了这个文件:bootstrap.php.cache。它“感觉很可疑”。
由于我已经用尽了我的选项i just deleted it来测试结果。
这解决了我的问题。网站又运行了。没有更多的空白页!
我想混合开发环境是有代价的。

mznpcxlj

mznpcxlj3#

很可能您的生产服务器设置为不显示任何错误,因此为了查看它们,您需要将其放置在index.php文件的顶部:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL & ~E_DEPRECATED);
6tqwzwtp

6tqwzwtp4#

最后我有一个解决问题的方法:在composer更新后,我必须通过执行rm -fr var/cache/prod/*手动清除prod环境的该高速缓存。无论出于何种原因,命令php bin/console cache:clear --env=prod在composer更新后立即退出工作,而不会抛出任何错误消息。手动删除该高速缓存文件后,应用程序和cache:clear命令都按预期工作,而无需修改 *web/app.php *。

z4bn682m

z4bn682m5#

1.检查缓存和日志目录的权限(必须是777)
2.检查(粘贴在这里)错误在logs/prod.log

相关问题