2012-06-22 38 views
0

我想配置PHP安裝(5.4.3)與MYSQL(5.0.91),與依賴的MDB2 mysql的模塊上的PHP Web應用程序使用。當我使用PEAR安裝時,pear告訴我PHP沒有所需的mysql擴展。PHP配置無法找到-lmysqlclient

一些周圍的Googling導致我檢查php.ini文件,其中我發現擴展=激活php_mysql.dll被註釋掉。我把這個打開並重新啓動php。 PHP抱怨說找不到php_mysql.dll。

我意識到,這可能是因爲我沒有使用--with-SQL標誌開啓安裝PHP。重新配置給我留下了以下錯誤:

checking for MySQL support... yes 
checking for specified location of the MySQL UNIX socket... /project/mullenl 
checking for mysql_close in -lmysqlclient... no 
checking for mysql_errno in -lmysqlclient... no 
configure: error: Try adding --with-zlib-dir=<DIR>. Please check config.log for more information. 

快速查看配置日誌顯示問題:

/usr/bin/ld: cannot find -lmysqlclient 

當我檢查我的lib目錄在我的MySQL安裝下面的東西存在:

libdbug.a 
libmysql.imp  
libmysqlclient.so*  
libmysqlclient.so.15.0.0*  
libmysqlclient_r.so*  
libmysqlclient_r.so.15.0.0* 
libmysys.a  
libndbclient.la* 
libndbclient.so.2* 
libmygcc.a 
libmysqlclient.a 
libmysqlclient.so.15* 
libmysqlclient_r.a   
libmysqlclient_r.so.15* 
libmystrings.a    
libndbclient.a 
libndbclient.so* 
libndbclient.so.2.0.0* 

我也不太清楚下一步該怎麼做,但真的需要以這種方式來支持MDB2配置PHP MYSQL模塊。我懷疑(?)我不能這樣做的原因是因爲我沒有安裝MYSQL的開發版本,但我不確定是這種情況。任何想法,想法或建議,將一如既往,非常感謝!

+0

任何原因你自己編譯PHP安裝?爲什麼不使用其中一個* amp包裝? –

+0

很好的問題。我現在問自己。我有NGINX提供內容。 – jasongallant

回答

0

php_mysql.dll擴展名僅用於Windows,它看起來像你在Unix/Linux上。

如果您查看phpinfo(),你有什麼配置選項?

通過將--with-mysql=mysqlnd添加到您的./configure選項中,可以將PHP構建到PHP中。

如果您有mysql的定製版本,在系統上編譯,然後指定路徑安裝它,而不是使用MySQL的本機驅動程序(mysqlnd)--with-mysql=/usr/lib

+0

Drew-我確實使用了--with-mysql指向我的mysql編譯目錄,這就是錯誤提示。 – jasongallant

+0

確定,** - 與MySQL的= mysqlnd ** seemes已經得到MySQL的PHP​​的工作。但是,我失去了使用PEAR的能力。當我從命令行調用PEAR時,它似乎正在尋找一個不存在的目錄。 – jasongallant

+0

確保pear安裝在你的路徑中,或者使用'PREFIX/lib/php'(默認前綴是/ usr/local)的完整路徑調用它,但是你可以使用'--prefix =/path'來指定它。 – drew010