在域范围内切换到PHP5 FastCGI后,PHP5子域无法正常工作

时间:2014-05-28 02:49:59

标签: php session fastcgi

直到上周,我的托管服务器的工作配置设置为在PHP4下运行,而所有子域都运行PHP5(其他一切都是典型的LAMP配置)。所以它看起来像这样:

PHP4(全局设置):

  • www.myDomain.com

PHP5(通过.htaccess和php.ini):

  • symfony.myDomain.com
  • magento.myDomain.com
  • reviveAdserver.myDomain.com

现在我终于将全局配置更新为PHP5.3 FastCGI,并且所有子域都停止工作。我也禁用了.htaccess和php.ini设置 - 没有成功: - (

行为如下:

  1. 在会话中调用第一页将有效
  2. 每次后续通话都会返回" 500内部服务器错误" ,直到我清除所有Cookie并再次从步骤1开始。
  3. 据我所知,没有写错误日志。有关项目都是众所周知的主要应用程序(包括Magento安装 - 幸运的是 - 仍处于开发阶段)。我尝试了新安装的 Revive AdServer ,它应支持FastCGI - 但它再次显示相同的行为。

    在我的知识结束时我绝望了,所以希望你们知道它可能是什么。

1 个答案:

答案 0 :(得分:1)

在沙盒中尝试每个(!!!)可能的默认php.ini设置变化后,我发现以下设置是原因:

session.auto_start = On

这似乎是至少Magento 1.8以及Revive Adverver的不兼容设置。一改变,两人都停止显示错误的行为。至于symfony我还不能说,但我想这并不重要,因为symfony无论如何都不是“随时可用”。

就像脚注和遇到同样行为的人一样:Revive Adverver生成了以下错误.log:

  

PHP致命错误:   OX_Admin_UI_Install_InstallController :: initInstallStatus()[ox-admin-ui-install-installcontroller.initinstallstatus]:   该脚本试图执行一个方法或访问一个属性   不完整的对象请确保类定义   您所在对象的“OX_Admin_UI_Install_InstallStatus”   尝试操作是在 unserialize()被调用之前加载   提供__autoload()函数来加载类定义   第134行/lib/OX/Admin/UI/Install/InstallController.php