最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > Magento > Magento教程 >

magento后台导入产品,一直在转

时间:2014-09-03 16:43来源:未知 作者:最模板zuimoban 点击:
在magento后台将数据指导入的时候发现,导入了很久还是在那边转。等第二天来看发现尽然还在转。没开magento日志,也没可用的信息,只好打开日志再导一次,才发现原因,原来是PHP超

在magento后台将数据指导入的时候发现,导入了很久还是在那边转。等第二天来看发现尽然还在转。没开magento日志,也没可用的信息,只好打开日志再导一次,才发现原因,原来是PHP超时。

PHP Fatal error:  Maximum execution time of 30 seconds exceeded in /…../public_html/lib/Zend/Db/Statement/Pdo.php on line 58

我在magento 1.8.1和1.9中都有发现这个问题。解决的办法是

编辑 lib/Zend/Db/Statement/Pdo.php 文件

在protected function _prepare($sql)函数声明的第一行加入

set_time_limit(0);

这个肯定可以。不过这样修改对整个magento的数据库连接都是适用的。如果程序某个地方确实存在有问题的sql,结果又不会超时是会导致资源的消耗,甚至DOWN掉。

合适的作法应该是修改后台导入商品的action或类。

app/code/core/Mage/ImportExport/controllers/Adminhtml/ImportController.php

在大概95行加入set_time_limit(0);

    /**

     * Start import process action.

     *

     * @return void

     */

    public function startAction()

    {

        set_time_limit(0);  //added by georgezheng

当然最好是采用重载的方法,不然更新的时候,如果MAGENTO没解决这个问题,你还要再次编辑修改,不然还会超时。

(责任编辑:最模板)
------分隔线----------------------------
栏目列表
推荐内容