Php 如何检查我的Apache安装中是否启用了PDO支持?

Php 如何检查我的Apache安装中是否启用了PDO支持?,php,apache,zend-framework,hosting,pdo,Php,Apache,Zend Framework,Hosting,Pdo,我通过CIPL.in使用共享主机。他们使用cpanel。我正在尝试在我的网站上部署ZEND应用程序。然而,它不断地给出错误 An error occurred Application error Exception information: Message: The PDO extension is required for this adapter but the extension is not loaded Stack trace: #0 /home/cubeeeco/worminc/

我通过CIPL.in使用共享主机。他们使用cpanel。我正在尝试在我的网站上部署ZEND应用程序。然而,它不断地给出错误

An error occurred
Application error
Exception information:

Message: The PDO extension is required for this adapter but the extension is not loaded
Stack trace:

#0 /home/cubeeeco/worminc/library/Zend/Db/Adapter/Abstract.php(770): Zend_Db_Adapter_Pdo_Abstract->_connect()
#1 /home/cubeeeco/worminc/library/Zend/Db/Adapter/Abstract.php(840): Zend_Db_Adapter_Abstract->quote('windchimes', NULL)
#2 /home/cubeeeco/worminc/library/Zend/Auth/Adapter/DbTable.php(354): Zend_Db_Adapter_Abstract->quoteInto('`password` = MD...', 'windchimes')
#3 /home/cubeeeco/worminc/library/Zend/Auth/Adapter/DbTable.php(285): Zend_Auth_Adapter_DbTable->_authenticateCreateSelect()
#4 /home/cubeeeco/worminc/library/Zend/Auth.php(117): Zend_Auth_Adapter_DbTable->authenticate()
#5 /home/cubeeeco/worminc/application/controllers/LoginController.php(117): Zend_Auth->authenticate(Object(Zend_Auth_Adapter_DbTable))
#6 /home/cubeeeco/worminc/library/Zend/Controller/Action.php(503): LoginController->processAction()
#7 /home/cubeeeco/worminc/library/Zend/Controller/Dispatcher/Standard.php(285): Zend_Controller_Action->dispatch('processAction')
#8 /home/cubeeeco/worminc/library/Zend/Controller/Front.php(934): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#9 /home/cubeeeco/public_html/worm/index.php(47): Zend_Controller_Front->dispatch()
#10 {main}
另外,当我尝试打印出phpinfo时,我得到:

System  Linux bear.dnsracks.com 2.6.18-92.1.13.el5PAE #1 SMP Wed Sep 24 20:07:49 EDT 2008 i686
Build Date  Jun 8 2009 13:50:29
Configure Command   './configure' '--disable-pdo' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-gd-native-ttf' '--enable-libxml' '--enable-magic-quotes' '--enable-mbstring' '--enable-sockets' '--prefix=/usr' '--with-curl=/opt/curlssl/' '--with-freetype-dir=/usr' '--with-gd' '--with-gettext' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-libxml-dir=/opt/xml2/' '--with-mcrypt=/opt/libmcrypt/' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=/usr/bin/mysql_config' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--with-png-dir=/usr' '--with-ttf' '--with-xpm-dir=/usr' '--with-zlib' '--with-zlib-dir=/usr'
Server API  CGI
Virtual Directory Support   disabled
Configuration File (php.ini) Path   /usr/lib
Loaded Configuration File   /usr/local/lib/php.ini
Scan this dir for additional .ini files     (none)
additional .ini files parsed    (none)
PHP API     20041225
PHP Extension   20060613
Zend Extension  220060519
Debug Build     no
Thread Safety   disabled
Zend Memory Manager     enabled
IPv6 Support    enabled
Registered PHP Streams  php, file, data, http, ftp, compress.zlib, https, ftps
Registered Stream Socket Transports     tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters   string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, convert.iconv.*, zlib.*
这可以在


然而,当我回到我的主机提供商那里时,他们告诉我他们已经修改了php.ini以启用PDO支持,他们将再次检查。我需要做什么或要求主机做什么?

PHP输出中的configure命令显示:

'--disable-pdo'

所以我认为可以安全地假设他们没有启用它。

这个应用程序需要Pdo_Mysql吗?如果是这样的话,您可能可以使用Mysqli适配器,这取决于软件,但这是可能的

在设置数据库连接详细信息的区域中,可能有一个名为“适配器”的选项。尝试将其值设置为“mysqli”

if (!defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO unavailable';
}
elseif (defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO available';
}

我希望这能起作用

他们可以在以后构建扩展,现在用extension=php_pdo加载它。。。。但这也会出现在phpinfo()的输出中-但事实并非如此,没有pdo支持。这就是为什么共享主机是一场噩梦!是的,你有mysql,mysqli,但没有PDO。如果您想查看是否安装了PDO,只需在页面中grep for PDO,并查看是否在实际模块中提到它。然后您就不需要PDO了。我误解了吗?这个答案比公认的答案更有帮助。我的
phpinfo()
显示了
--禁用pdo
,但这告诉我pdo可用。这验证了我的怀疑,谢谢!