2013-10-02 25 views
3

我想讓mysql php pdo在FreeBSD 9.1上工作。PHP PDO Mysql未加載。擴展名是在extensions.ini中,php_mysql.so存在,但phpinfo只顯示sqlite和dblib

MySQL版本:5.5.28 PHP版本:extensions.ini文件的5.4.7

適用內容:

extension=pdo_dblib.so 
extension=mysql.so 
extension=pdo.so 
extension=pdo_mysql.so 
extension=pdo_sqlite.so 

PHP信息:

PDO支持啓用 PDO驅動DBLIB, sqlite

支持FreeTDS/Sybase DB-lib的PDO驅動程序 Flavor freetds

PDO驅動程序的SQLite 3.x中啓用 SQLite庫3.7.14.1


所以,沒有pdo_mysql.so被加載,即使該文件存在,它在擴展文件等我有甚至嘗試註釋掉pdo.so和mdo_sqlite.so,只是爲了確保正確的擴展文件正在被加載,並確保...確實如此。

任何想法?

謝謝!

+0

你看過錯誤日誌嗎?如果在加載擴展時出現問題,則日誌中應該有錯誤 –

+0

嘗試更改'extension_dir'參數:[PDO drivers no value](http://stackoverflow.com/questions/7086859/pdo-drivers-no-值) – aaron

+0

我接受了Patrick的建議,並查看了/var/log/httpd-error.log中的apache日誌。這是抱怨,由於它不是在發佈模式下構建,因此無法加載pdo。 (不調試)。我選擇從我的php安裝中刪除調試,並將php的配置更改爲不調試。乾淨;取消安裝;在php5,php5-extensions和php5-pdo_mysql上創建distclean並重新編譯它們。得到它的工作。 – bmccall1

回答

1
  • 檢查加載了哪個php.ini,以及它是否與您正在修改的是相同的。 CLI的,這樣做:

php -i | head |grep -i loaded

或在某些虛擬的PHP文件:

<?php 
phpinfo(); 
?> 

然後打開虛擬文件瀏覽器

  • 確保PHP安裝mysql支持包。

搜索它(我使用的Ubuntu):

apt-cache search php5*|grep mysql

安裝它(我正好是PHP5-MySQL的,我想你會過於相同):

sudo apt-get install php5-mysql 

安裝後再次檢查,如果你得到你想要的東西:)