【问题标题】:Magento Cron Job fails while DLO not loaded未加载 DLO 时 Magento Cron 作业失败
【发布时间】:2015-01-21 23:10:56
【问题描述】:

我正在尝试运行 Magento Cron 作业,但收到此错误消息。我检查了phpinfo(),它显示所有内容都应该加载,get_loaded_extensions()shows => PDO [27] => pdo_mysql [28] => pdo_sqlite [29]

有什么想法我接下来可以做些什么来找到原因吗?

谢谢, 克里斯

PHP Fatal error: Uncaught exception 'Zend_Db_Adapter_Exception' with
message 'The PDO extension is required for this adapter but the extension is
not loaded' in /home/k117235a/domains/greenman-chris.eu/private_html/lib/Zend/Db/Adapter/Pdo/Abstract.php:342
Stack trace: 
#0 /home/k117235a/domains/greenman-chris.eu/private_html/lib/Zend/Db/Adapter/Abstract.php(248): 
Zend_Db_Adapter_Pdo_Abstract->setFetchMode(2) 
#1 /home/k117235a/domains/greenman-chris.eu/private_html/app/code/core/Mage/Core/Model/Resource.php(175): 
Zend_Db_Adapter_Abstract->__construct(Array)
#2 /home/k117235a/domains/greenman-chris.eu/private_html/app/code/core/Mage/Core/Model/Resource.php(110): 
Mage_Core_Model_Resource->_newConnection('pdo_mysql', Object(Mage_Core_Model_Config_Element))
#3 /home/k117235a/domains/greenman-chris.eu/private_html/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(320): 
Mage_Core_Model_Resource->getConnection('core_write')
#4 /home/k117235a/domains/greenman-chris.eu/private_html/app/code/core/Mage/Core/Model/Resource/Db/Abstract 
in /home/k117235a/domains/greenman-chris.eu/private_html/lib/Zend/Db/Adapter/Pdo/Abstract.php 
on line 342

【问题讨论】:

    标签: php magento pdo cron


    【解决方案1】:

    可能您正在从浏览器中检查 phpinfo(),但可能仅为 apache/nginx 加载扩展,而不是为命令行加载,这就是我假设 cronjob php 文件将运行的方式。

    检查是否为 CLI 启用了扩展,通常在以下位置:

    /etc/php5/cli/conf.d/20-pdo_mysql.ini (the name might not be exactly the same)
    

    它可能只在 /etc/php5/apache2/ 或 /etc/php5/php-fpm/ 上

    您可以从其他位置复制它或创建一个包含以下内容的新文件:

    extension=pdo_mysql.so
    

    之后,通过从命令行运行来检查扩展是否已加载:

    php -i | grep pdo
    

    如果它已加载,您应该会看到一些输出,并且 cronjob 现在应该可以工作了。

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      使用“$ which php”确保您使用的是您认为的 PHP。
      查看你的命令行 PHP 正在使用的 php.ini,看看是否有任何扩展被禁用

      【讨论】:

        【解决方案3】:

        另一种方法是让 Apache 使用 wget 运行 cron 作业:

        [specified time] wget -q http://magento.url.com/cron.php
        

        在文件权限存在问题的情况下(特别是涉及 Magento 的缓存时),使用此方法也有帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-06-04
          • 2011-03-20
          • 1970-01-01
          • 2021-07-31
          • 2011-04-11
          • 2011-08-18
          • 1970-01-01
          相关资源
          最近更新 更多