【问题标题】:Magento 1.7 Create Order Controller ErrorMagento 1.7 创建订单控制器错误
【发布时间】:2012-09-26 16:31:24
【问题描述】:

我最近升级到 Magento 1.7.0.2,当我尝试在管理面板中创建订单时,出现 500 服务器错误并记录如下:

PHP Fatal error: Call to undefined method Mage_Catalog_Helper_Product::setSkipSaleableCheck() in /var/www/vhosts/dev.mydomain.com/httpdocs/app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreateController.php on line 45, referer: https://dev.mydomain.com/index.php/admin/sales_order/index/key/5da67d5b8c41312785d474f556dbfb7f/

还没有找到有类似问题的人...有什么想法吗?

【问题讨论】:

  • 第一件事;您在文件 /var/www/vhosts/dev.mydomain.com/httpdocs/app/code/core/Mage/Catalog/Helper/Product.php 中有一个名为 setSkipSaleableCheck 的方法吗?
  • 是的,我在那个文件中有那个方法

标签: php magento-1.7


【解决方案1】:

我也有同样的问题。有人有想法吗?

Hey Miles:经过一番大规模狩猎后,我找到了解决方案…… http://www.magentocommerce.com/boards/viewthread/205818/#t324666

WarehouseMultimedia 的帖子很有帮助。 php.ini 的改变就是诀窍。我从未编辑过 .htaccess 文件,它正在工作。我也在使用 1.7 版,它的解决方案仍然有效。

"...

我通过增加 php.ini 和 .htaccess 中的 memory_limit 和 max_execution_time 设置来解决这个问题:

php.ini

memory_limit = 256M

max_execution_time = 18000

.htaccess

php_value memory_limit 256M

php_value max_execution_time 18000

"

这似乎是 bluehost 独有的问题。你在用bluehost吗?

【讨论】:

  • 您当然不需要 18000 秒的最大执行时间(即五个小时!)
  • 耸耸肩...谁知道 WarehouseMultimedia 代码的编程意图。只是在这里重新引用它作为手头问题的相关解决方案。
  • 耶!我不孤独!感谢您发布。我会检查一下并回复你。我在 Rackspace。
  • 我的值已经设置为你上面的值。我尝试更多地增加它们,但仍然遇到同样的问题。
【解决方案2】:

我安装了 Magento 1.7.0.2,这个错误应该不会发生!升级可能遗漏了一些 Magento 核心代码。你是怎么升级的?

此错误消息表明类 Mage_Catalog_Helper_Product (~/app/code/core/Mage/Catalog/Helper/Product.php) 不包含方法“setSkipSaleableCheck”。在我的 v1.7.0.2 副本中,我确实有这个方法。

打开 ~/app/code/core/Mage/Catalog/Helper/Product.php 并搜索“public function setSkipSaleableCheck($skipSaleableCheck = false)”。如果此方法定义不存在,则下载 Magento 1.7.0.2 的 vanilla 版本并替换此文件。

这应该只修复缺少的方法。

【讨论】:

  • 是的,我有那个功能public function setSkipSaleableCheck($skipSaleableCheck = false)
  • 那么你的问题是别的。清除所有 Magento 缓存并确保以下目录为空(~/var/cache ~/var/report ~/var/session)。然后通过重命名文件(~/errors/local.xml.sample 到 local.xml)来启用错误报告。然后重新测试您的网站。你得到什么错误信息?确保在完成测试后禁用错误报告。将 local.xml 重命名为 local.xml.sample。
  • 我重命名了errors/local.xml,但是这些错误记录在哪里?当我尝试在后端创建订单时,我仍然看到相同的错误页面:Server 500 error: The website encountered an error while retrieving http://mydomain.localhost/index.php/admin/sales_order_create/start/key/372b9af2b85fa77c27c46e7106506af4/. It may be down for maintenance or configured incorrectly.,并且我仍然在服务器日志中看到我的问题中提到的相同错误。
  • 奇怪,我在 /var/ 中没有看到任何名为 report 的文件/文件夹
  • 创建它并确保它对 Magento 源代码是可写的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-30
  • 1970-01-01
  • 2014-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多