Php Symfony2:chroot环境中的prod?
作为学习练习,我使用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/中Php Symfony2:chroot环境中的prod?,php,symfony,fastcgi,freebsd,Php,Symfony,Fastcgi,Freebsd,作为学习练习,我使用Symfony更新了一个本地非营利组织的现有应用程序。开发是在Windows环境中进行的。现在应用程序已经安装在ISP的共享主机上,我开始了解FastCGI服务器上的chroot。存在如下错误: PHP致命错误:未捕获异常“UnexpectedValueException”,带有 消息“流或文件” 无法找到“/home/projectmana/www2.projectmana.org/app/logs/prod.log” 要打开:无法打开流:中没有此类文件或目录 /www2.
嗯。我知道这就是问题所在。到目前为止,网络搜索还没有提供如何进行的线索。(我对Symfony希望避免共享主机的做法更为欣赏。)作为一名相对新手和志愿者,是否有一种解决方案可以在我的代码中实现,或者应用程序必须找到一个新家?您必须根据您的chrooted目录设置
doc\u root
变量:
doc_root = "/home/projectmana"
cgi.fix_pathinfo = 0
您可以在php.ini文件中执行此操作-这似乎不是您的选项,因为您在共享服务器环境中。当使用Apache作为Web服务器时,您可以使用
.htaccess
文件,并通过PHP\u value
在该实例中的解决方案是覆盖缓存和日志目录的位置。但是,这本身会导致cache:clear
命令失败。如果我自己找不到这个问题的答案,那么这个问题的答案将不得不出现在另一个问题中
使现代化
这里的另一个解决方案无法工作,因为当Apache服务器运行FastCGI时,.htaccess中的任何php设置都会导致服务器错误。清除缓存从未解决过,因此该站点被移动到非CGI主机。@akluth:现在我更糊涂了。我昨天经历了所有这些,但仍然有问题。现在一切似乎都正常了,但对于一条带参数的路线,结果是401。我昨天看到了这一点——当时我返回到清除缓存等,开始得到上面的错误。也许问题陈述不正确。@akluth:刚刚确认-清除缓存,在缓存和日志上强制执行
chmod-R 777
会返回上述错误。由于php.ini或Apache都不可用,我尝试根据symfony的配置食谱覆盖日志和缓存目录。这似乎解决了除路线问题以外的所有问题。这是下一步。回复:htscanner已删除。需要管理权限;不适用于最终用户/开发人员。