从控制台加载操作时出现 ZF2 PDO 错误
ZF2 PDO error when loading Action from console
我有一个应用程序在从浏览器访问时可以正常工作,我可以毫无问题地查询 PostgreSQL,但是当我尝试通过控制台加载它时出现错误:
Zend\Db\Adapter\Exception\RuntimeException
Connect Error: could not find driver
只要我不尝试查询数据库,路由、控制器和操作就会正确加载。
有没有我遗漏的东西,也许我在尝试从控制台查询数据库时需要设置其他东西?
我从控制台 运行 通过 php /web/public/index.php action
它一直有效,直到我添加数据库调用。
//更新
我的 global.php 看起来像:
'db' => array(
'driver' => 'Pdo',
'dsn' => 'pgsql:dbname=myDB;host=localhost',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
),
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
),
),
为简洁起见;
经过聊天讨论后,发现服务器配置为处理不同 PHP 二进制文件的 http 和控制台请求。更改 php 路径解决了问题。
我有一个应用程序在从浏览器访问时可以正常工作,我可以毫无问题地查询 PostgreSQL,但是当我尝试通过控制台加载它时出现错误:
Zend\Db\Adapter\Exception\RuntimeException
Connect Error: could not find driver
只要我不尝试查询数据库,路由、控制器和操作就会正确加载。
有没有我遗漏的东西,也许我在尝试从控制台查询数据库时需要设置其他东西?
我从控制台 运行 通过 php /web/public/index.php action
它一直有效,直到我添加数据库调用。
//更新
我的 global.php 看起来像:
'db' => array(
'driver' => 'Pdo',
'dsn' => 'pgsql:dbname=myDB;host=localhost',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
),
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
),
),
为简洁起见;
经过聊天讨论后,发现服务器配置为处理不同 PHP 二进制文件的 http 和控制台请求。更改 php 路径解决了问题。