私のアプリはWeb側から作業しています。Zend CLIが動作しません
私はユニットテストを実行することができます。ここで、このような
は、テストスクリプトのために私が持っているものだように、CLIが働いて取得したいのですが残念ながら
$pthRoot = dirname(__FILE__);
define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/..'));
define('APPLICATION_ENV', 'development');
define('SERVER_ROLE', 'development');
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library') . PATH_SEPARATOR . realpath($pthRoot . '/../controllers')
. PATH_SEPARATOR . get_include_path()
)));
date_default_timezone_set('America/Toronto');
require_once('Zend/Loader/Autoloader.php');
$autoloader = Zend_Loader_Autoloader::getInstance();
require '../bootstrap.php';
require_once 'Zend/Application.php';
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$_SERVER['SERVER_ROLE'] = 'development';
$bootstrap = $application->getBootstrap();
$bootstrap->runScript();
$db = Zend_Registry::get('db');
$sql = "select * from settings";
print_r($db->fetchAll($sql));
、私はエラーでの取得しますget( 'db')行。
PHP致命的なエラー:キャッチされない例外「MySQLドライバが現在インストールされていない」メッセージと「Zend_Db_Adapter_Exception」コマンドラインからするphpinfoによれば
、MySQLドライバが実行されています。私は何が欠けていますか?
ありがとうございます。
これはpdo_mysqlを使用しています。私が得られないことは、両方の状況で同じ設定ファイルを使用していることです。ロードされるのと同じ拡張機能であってはなりませんか? – jeffkolez
ああ、違いがわかります。それはスキャンされた追加のiniファイルです。これまでにこれまでに遭遇したことはありません.cliのphpはディレクトリ内で余分なiniファイルをスキャンしていません。私はそれを私のphp.iniに加えました。ありがとう! – jeffkolez
OK、あなたはそれがうまく動作していることを知っていて、それはなぜですか? –