2

我目前的 Magento 商店遇到了一个大问题。当我通过后端创建发票时,我收到 500 内部服务器错误(经过长时间的加载过程)。服务器日志没有显示任何内容,我查看/var/log/apache2/error.log并没有任何相关内容。该错误没有出现在我的开发机器上,但是由于我将商店移至我们的实时服务器,因此它一直在发生。

到目前为止我尝试了什么:

  • 检查文件和文件夹权限
  • 已启用Mage::setIsDeveloperMode(true);ini_set('display_errors', 1);
    仍然没有错误或日志
  • 删除local.xml并生成一个新的
  • 增加内存限制
  • 增加最大执行时间
  • 清除缓存
  • 检查 .htaccess 文件,一切似乎都很好
  • 运行脚本以检查所有内容是否符合 Magento 要求

这开始让我忙了几天......我不知道从哪里开始,因为服务器甚至没有在日志中输出错误。如何强制服务器将错误记录在相应的文件中?

您还有其他想法可以尝试摆脱错误吗?

还附上了我的 php.ini 文件,也许有帮助。

PHP.ini http://pastebin.com/9BWQRHTu

PHP 版本和操作系统:PHP 版本 5.3.2-1ubuntu4.21

环境:虚拟专用服务器

4

2 回答 2

1
  1. memory_limit128M256M或增加512M
  2. 清除浏览器缓存和 cookie。你500 server error在其他浏览器中是否遇到相同的“”?
  3. 你说加载过程很长 - 测量几次准确的时间,如果时间相同,在 php.ini 中设置,增加max_execution_time
  4. 找出为什么使用调试器创建发票需要这么长时间 - 很可能您安装的某些模块有问题,例如无限循环,或者它可能会触发一个动作,这需要很多时间,例如,重新索引每个时间。创建发票不应该花这么长时间,这是代码中的问题 - 可能不是服务器设置。
于 2013-10-31T17:30:20.357 回答
1

我查看了错误的 error_log 文件,因为我正在使用 Plesk,正确的 error_log 文件位于 /var/www/vhosts/xxx.com/statistics/logs/ 而不是 /var/log/apache2/

那里的错误是

[Mon Nov 04 14:37:13 2013] [warn] [client xxx] mod_fcgid: read data timeout in 45 seconds, referer

这将我带到 fcgid.conf (etc/apache2/mods-available/fcgid.conf),我必须在其中增加以下值:

FcgidIdleTimeout 3600
FcgidProcessLifeTime 7200
FcgidMaxProcesses 64
FcgidMaxProcessesPerClass 8
FcgidMinProcessesPerClass 0
FcgidConnectTimeout 300
FcgidIOTimeout 180
FcgidInitialEnv RAILS_ENV production
FcgidIdleScanInterval 10
于 2013-11-04T16:26:47.473 回答