neo*_*neo 5 php zend-framework apache2.2
当我尝试使用Zend_Db_Table_Abstract类的fetchall方法时,我收到以下异常...
An error occurred4545
EXCEPTION_OTHER
Exception information:
Message: The PDO extension is required for this adapter but the extension is not loaded
Stack trace:
#0 D:\www\TestProject\library\Zend\Db\Adapter\Pdo\Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
#1 D:\www\TestProject\library\Zend\Db\Adapter\Abstract.php(448): Zend_Db_Adapter_Pdo_Mysql->_connect()
#2 D:\www\TestProject\library\Zend\Db\Adapter\Pdo\Abstract.php(238): Zend_Db_Adapter_Abstract->query('DESCRIBE `album...', Array)
#3 D:\www\TestProject\library\Zend\Db\Adapter\Pdo\Mysql.php(156): Zend_Db_Adapter_Pdo_Abstract->query('DESCRIBE `album...')
#4 D:\www\TestProject\library\Zend\Db\Table\Abstract.php(823): Zend_Db_Adapter_Pdo_Mysql->describeTable('albums', NULL)
#5 D:\www\TestProject\library\Zend\Db\Table\Abstract.php(862): Zend_Db_Table_Abstract->_setupMetadata()
#6 D:\www\TestProject\library\Zend\Db\Table\Abstract.php(969): Zend_Db_Table_Abstract->_setupPrimaryKey()
#7 D:\www\TestProject\library\Zend\Db\Table\Select.php(100): Zend_Db_Table_Abstract->info()
#8 D:\www\TestProject\library\Zend\Db\Table\Select.php(78): Zend_Db_Table_Select->setTable(Object(Application_Model_Albums))
#9 D:\www\TestProject\library\Zend\Db\Table\Abstract.php(1005): Zend_Db_Table_Select->__construct(Object(Application_Model_Albums))
#10 D:\www\TestProject\library\Zend\Db\Table\Abstract.php(1303): Zend_Db_Table_Abstract->select()
#11 D:\www\TestProject\application\controllers\IndexController.php(17): Zend_Db_Table_Abstract->fetchAll()
#12 D:\www\TestProject\library\Zend\Controller\Action.php(513): IndexController->indexAction()
#13 D:\www\TestProject\library\Zend\Controller\Dispatcher\Standard.php(289): Zend_Controller_Action->dispatch('indexAction')
#14 D:\www\TestProject\library\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#15 D:\www\TestProject\library\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch()
#16 D:\www\TestProject\library\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#17 D:\www\TestProject\public\index.php(26): Zend_Application->run()
#18 {main}
Request Parameters:
array (
'controller' => 'index',
'action' => 'index',
'module' => 'default',
)
Run Code Online (Sandbox Code Playgroud)
我在php.ini文件中添加了以下行
extension=pdo.so
extension=pdo_mysql.so
extension=php_pdo.dll
extension=php_pdo_mssql.dll
Run Code Online (Sandbox Code Playgroud)
我也在我的系统中安装了PDO MySQL软件包.但我仍然得到上述异常....(还重启了Apache服务器)
首先,你不能兼得:
extension=pdo.so
extension=pdo_mysql.so
Run Code Online (Sandbox Code Playgroud)
适用于Linux,以及:
extension=php_pdo.dll
extension=php_pdo_mssql.dll
Run Code Online (Sandbox Code Playgroud)
哪些适用于Windows:您必须选择,具体取决于您使用的系统.
当你在Windows上时,你应该使用该.dll版本.
但请注意您使用过:
extension=php_pdo_mssql.dll
Run Code Online (Sandbox Code Playgroud)
即你加载了pdo_mssql扩展名 - 这是用于Microsoft SQL Server,而不是MySQL.
相反,您应该加载MySQL的扩展:
extension=php_pdo_mysql.dll
Run Code Online (Sandbox Code Playgroud)
纠正后,重新启动Apache; 事情应该变得更好.
如果事情没有好转,你应该检查输出phpinfo():
phpinfo()输出的开头,它指示php.ini加载了哪个文件; 确保你修改了正确的.pdo_mysql