【问题标题】:Magento: 500 internal server error :: Back-end >> System >> Tools >> BackupsMagento:500 内部服务器错误 :: 后端 >> 系统 >> 工具 >> 备份
【发布时间】:2013-03-05 17:28:16
【问题描述】:

我们无法从 magento 1.5 版上的“后端 >> 系统 >> 工具 >> 备份”菜单创建 magento 备份。当我们在 15 到 20 分钟后尝试创建备份时,系统返回错误消息:


Internal Server Error 
The server encountered an internal error or misconfiguration and was unable
to complete your request.

Please contact the server administrator, webmaster@choosemadeinusa.com and     
inform them of the time the error
occurred, and anything you might have done that may have caused the
error.

More information about this error may be available in the server error
log.

此外,在尝试使用 ErrorDocument 处理请求时遇到 500 Internal Server Error 错误。

Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 服务器 在 www.choosemadeinusa.com 端口 443


我们已经应用了我们在 magento 论坛上找到的几乎所有解决方案,因为很多人以前都遇到过这个问题。我们应用的解决方案是:

  • 将“var”文件夹的权限更改为 777。
  • 将“var/backups”文件夹清空。
  • 将ROOT index.php文件的权限改为755。
  • 增加了 PHP 的最大执行时间。
  • 增加了内存限制。
  • 将 index.php 文件替换为 index.php.sample 用于临时基础。
  • 启用“日志设置”以查看系统正在生成什么错误。检查附加的“system.log”以查看与 maganto 备份相关的任何错误?
  • 在“app/code/local/MageWorx/LinkExchange/Controller/Router.php”文件中将“split”替换为“explode”php函数

但是,没有运气,我们真的不清楚出了什么问题。我们正计划将 magento 版本从 1.5 升级到 1.7,我们无法启动该过程,因为我们无法完成备份过程。

最糟糕的是当系统返回错误消息“500 internal server error”,然后我们重新加载后端的仪表板页面,它以绿色显示您的“备份过程已完成”消息,它也显示系统创建的备份列表。但是,我们确定这不是完整的备份,还是应该假设备份已经完成?

2013-02-07T16:54:15+00:00 ERR (3): Deprecated functionality: Function split() is deprecated  in /home/choosema/public_html/app/code/local/MageWorx/LinkExchange/Controller/Router.php on line 56
2013-02-07T16:54:15+00:00 ERR (3): Strict Notice: Declaration of MageWorx_SeoSuite_Block_Catalog_Navigation::_renderCategoryMenuItemHtml() should be compatible with that of Mage_Catalog_Block_Navigation::_renderCategoryMenuItemHtml()  in /home/choosema/public_html/app/code/local/MageWorx/SeoSuite/Block/Catalog/Navigation.php on line 38
2013-02-07T16:54:25+00:00 ERR (3): Strict Notice: Declaration of MageWorx_SeoSuite_Block_Catalog_Navigation::_renderCategoryMenuItemHtml() should be compatible with that of Mage_Catalog_Block_Navigation::_renderCategoryMenuItemHtml()  in /home/choosema/public_html/app/code/local/MageWorx/SeoSuite/Block/Catalog/Navigation.php on line 38
2013-02-07T16:54:29+00:00 ERR (3): Strict Notice: Declaration of MageWorx_SeoSuite_Block_Catalog_Navigation::_renderCategoryMenuItemHtml() should be compatible with that of Mage_Catalog_Block_Navigation::_renderCategoryMenuItemHtml()  in /home/choosema/public_html/app/code/local/MageWorx/SeoSuite/Block/Catalog/Navigation.php on line 38
2013-02-07T16:55:08+00:00 ERR (3): Strict Notice: Declaration of MageWorx_SeoSuite_Block_Catalog_Navigation::_renderCategoryMenuItemHtml() should be compatible with that of Mage_Catalog_Block_Navigation::_renderCategoryMenuItemHtml()  in /home/choosema/public_html/app/code/local/MageWorx/SeoSuite/Block/Catalog/Navigation.php on line 38
2013-02-07T16:55:17+00:00 ERR (3): Strict Notice: Declaration of MageWorx_SeoSuite_Block_Catalog_Navigation::_renderCategoryMenuItemHtml() should be compatible with that of Mage_Catalog_Block_Navigation::_renderCategoryMenuItemHtml()  in /home/choosema/public_html/app/code/local/MageWorx/SeoSuite/Block/Catalog/Navigation.php on line 38

我们从“system.log”文件中得到的上述错误“Router.php”和“Navigation.php”有错误,是URL重写有问题吗?根据我们的理解,如果路由不正确,也会返回“500 internal server error”。

任何人都可以告诉我们并帮助我们找出问题所在,因为我们几乎尝试了所有方法。另外,请检查附加的“system.log”文件,也许有人可以找到magento备份系统问题的线索。

【问题讨论】:

  • 您似乎仍在超时。备份可能正在完成,特别是因为您在刷新时收到确认消息。您是否有权访问 Web 服务器的错误日志?这将准确地告诉您网站遇到 500 错误时发生的情况。对于收到错误的日期/时间,您应该在该日志文件中有相应的条目。

标签: magento


【解决方案1】:

首先,测量准确的时间对于确定问题所在非常有帮助,在一分钟内得到它可能会导致准确的超时。

在 MySQL 的配置 /etc/my.cnf 中可能是 wait_timeout

其次,备份过程没有什么神奇之处。听起来您具有工作知识并可以访问您的服务器。您可以使用zip 压缩整个magento web 根目录,并使用mysqldump 获取数据库副本。这就是重建 PHP/MySQL 应用程序真正需要的全部内容。

此外,听起来您几乎正计划尝试在实时生产服务器上升级 Magento 1.5->1.7。这几乎可以肯定是一个错误,许多功能会发生变化,扩展可能会也可能不会与新版本很好地配合。我强烈建议按照上述方式进行备份,然后部署到某种测试环境中,您可以在其中进行升级并记录发生的问题。

【讨论】:

  • tar 'n mysqldump 的附加优点是该过程比资源繁重的 gui php glup 快得多。不要害怕收割者,命令行是你的朋友。
  • 同意,但是根据您的数据库的大小和服务器的工作负载,mysqldump 可能需要在非高峰时间运行,因为它在运行时会锁定表。
  • 备份未完成我们之前已经验证过:mySQL DB 大小:1026.40 MB 网站文件大小:2.8GB 备份生成了 2 个 72.2 MB 的 .zip 文件,用于 mySQL DB 和实际大小mySQL DB 为 1026.40 MB,因此显然这不是系统的完整备份。备份系统正在中断且未完成。
  • 感谢您的建议。是的,您是对的,我们拥有服务器的完全访问权限,并且我们知道如何使用 SSH 备份 mySQL DB 和网站文件/文件夹。由于我们无法从后端对网站进行完整备份,因此我们可以选择从 SSH 进行备份。
  • “mySQL DB 为 72.2 MB,而 mySQL DB 的实际大小为 1026.40 MB,因此显然这不是系统的完整备份”不一定。 MySQL 语句实际上是一种理想的压缩数据类型。尝试执行mysqldump -u {user} -p {dbname} | gzip > {dbname}.sql.gz 并比较文件大小。
【解决方案2】:

要找出错误所在,您可以取消注释该行

ini_set('display_errors', 1);

该行位于 index.php 文件中。

然后你会看到究竟是什么触发了上述错误。

【讨论】:

    【解决方案3】:

    在magento 1.9.1中,当你得到500内部服务器错误时,只需将index.php的权限更改为644,同时删除根文件夹中的所有maintenance-flag.php。然后您应该能够登录到管理面板!

    【讨论】:

      【解决方案4】:

      使用godaddy服务器, 更改根文件夹中 644 的“index.php”文件权限。

      【讨论】:

      • 能否请您学习正确的语法和标点符号?这个答案可能会有所帮助,但它会使用一些样式版本。您的意思是“我解决了这类问题”吗?另外,您提到了以前没有提到的 Godaddy 服务器 - 您能详细说明一下吗?
      猜你喜欢
      • 2011-10-20
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      相关资源
      最近更新 更多