我有一个从浏览器访问时正常工作的应用程序,我可以毫无问题地查询PostgreSQL,但当我试图通过控制台加载它时,我得到了错误:
Zend'Db'Adapter'Exception'RuntimeException
Connect Error: could not find driver
只要我不尝试查询数据库,路由、控制器和操作就会正确加载。
当我试图从控制台查询数据库时,我是否遗漏了什么,也许还需要设置其他内容?
在控制台中,我通过php /web/public/index.php action
运行它,它一直工作到我添加DB调用为止。
//更新
我的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路径解决了这个问题。