Symfony2:在chroot环境中生产?

时间:2013-10-27 21:44:10

标签: php symfony fastcgi freebsd

作为一项学习练习,我使用Symfony更新当地非营利组织的现有申请。开发是在Windows环境中进行的。现在应用程序已安装在其ISP的共享主机上,我开始了解FastCGI服务器上的chroot。有这样的错误:

  

PHP致命错误:未捕获异常'UnexpectedValueException'   消息'流或文件   “/home/projectmana/www2.projectmana.org/app/logs/prod.log”无法   打开:无法打开流:没有这样的文件或目录   /www2.projectmana.org/app/cache/prod/classes.php:4823

ISP回复:

  

糟糕的道路。 PHP在/ home / projectmana /.

中被chroot

行。我明白这就是问题所在。到目前为止,网络搜索还没有提供关于如何进行的线索。 (我对Symfony希望避免共享托管感到非常欣赏。)我是一个相对新手和志愿者可以在我的代码中实现的解决方案,还是应用程序必须找到一个新家?

2 个答案:

答案 0 :(得分:0)

您必须根据您的chrooted目录设置doc_root变量:

doc_root = "/home/projectmana"
cgi.fix_pathinfo = 0

你在php.ini文件中执行此操作 - 由于您在共享服务器环境中,这似乎不适合您。使用Apache作为Web服务器时,可以使用.htaccess文件并通过php_value在那里设置正确的PHP指令。

答案 1 :(得分:0)

此实例中的解决方案是覆盖缓存的位置并记录目录according to the cookbook。但是,这本身会导致cache:clear命令失败。如果我无法自己找到问题,那么问题的答案就必须出现在另一个问题中。

更新

此处的其他解决方案无法正常工作,因为当Apache服务器运行FastCGI时,.htaccess中的任何php设置都会导致服务器错误。清除缓存从未解决,因此网站被移动到非CGI主机。