2009-07-06 86 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'; 
} 

我希望這個作品