2009-07-06 90 views
4

我通过CIPL.in使用共享主机。他们使用cPanel。我正在尝试在我的网站上部署ZEND应用程序。但是它不断给出错误。如何检查我的Apache安装中是否启用了PDO支持?

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.* 

这可以在http://cubeee.co.in/worm/tester.php

可以看出然而,当我回到我的托管服务提供商,他们告诉我,他们修改了php.ini以启用PDO支持,他们将再次检查。我需要做什么或请主人做什么?

回答

5

configure命令在你的PHP输出显示:

'--disable-pdo' 

,所以我认为它是安全的假设,他们还没有启用它。

+1

他们可能已经建立了扩展之后,现在与延长= php_pdo加载它....但是,这也将在输出显示phpinfo() - 但它不,没有pdo的支持。 – VolkerK 2009-07-06 16:45:19

+0

这就是为什么共享主机是一场噩梦! – 2009-07-06 17:20:00

+0

是的 - 你有mysql,mysqli,但没有PDO。如果您想查看是否安装了PDO,只需在页面中查找PDO,并查看它是否在实际模块中提及。 – Justin 2009-07-06 20:55:03

0

此应用程序是否需要Pdo_Mysql?如果是这样,你可以使用Mysqli适配器 - 它取决于软件,但它是可能的。

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

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

我希望这个作品