1

私はmagentoコマンドに問題があります: php shell/indexer.php reindexall

スタックトレース:

0 /home/taatoo/www/lib/Zend/Db/Adapter/Abstract.php(459): > Varien_Db_Adapter_Pdo_Mysql->_connect()

1 /home/taatoo/www/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SET NAMES utf8', Array)

2 /home/taatoo/www/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('SET NAMES utf8', Array)

3 /home/taatoo/www/app/code/core/Mage/Core/Model/Resource.php(169): Varien_Db_Adapter_Pdo_Mysql->query('SET NAMES utf8')

4 /home/taatoo/www/app/code/core/Mage/Core/Model/Resource.php(110): Mage_Core_Model_Resource->_newConnection('pdo_mysql', オブジェクト(Mage_Core_Model_Config_Element))

5 /home/taatoo/www/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(320): Mage_Core_Model_Resource->getConnection('core_write')

6 /home/taatoo/www/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(350): Mage_Core in /home/taatoo/www/lib/Varien/Db/Adapter/Pdo/ 302行目のMysql.php

行 301/302/303 は次のとおりです。

if (!extension_loaded('pdo_mysql')) {
    throw new Zend_Db_Adapter_Exception('pdo_mysql extension is not installed');
}

または、print_r(get_loaded_extensions());/home/project/www/ または /home/project/www/lib/Varien/Db/Adapter/Pdo/ で実行すると、「pdo_mysql」拡張子が正しく取得されます。

このスクリプトでtrue行う場合も取得します。var_dump(extension_loaded('pdo_mysql'));

しかしfalse、/home/project/www/lib/Varien/Db/Adapter/Pdo/Mysql.php で同じことをすると

4

2 に答える 2

1

コメントで述べたように、2 つの異なる php.ini ファイルを使用している可能性があります。
それを確認するには、throw new Zend_Db_Adapter_Exception行を次のように変更してください

throw new Zend_Db_Adapter_Exception(
  'pdo_mysql extension is not installed. php.ini:'
  . get_cfg_var('cfg_file_path')
);

結果をの出力と比較します

var_dump(get_cfg_var('cfg_file_path'), extension_loaded('pdo_mysql'));

コマンドラインスクリプトで。

参照:
http://docs.php.net/manual/en/function.get-cfg-var.php
http://docs.php.net/manual/en/function.php-ini-loaded-file。 php
http://docs.php.net/manual/en/function.php-ini-scanned-files.php

于 2013-01-10T13:21:08.003 に答える