2012-06-21 69 views
12

我試圖從源代碼編譯PHP 5.2.17Ubuntu 12.4 64bit使用此配置:在/ usr下找不到libmysqlclient。而在Ubuntu上從源代碼編譯PHP 5.2 12.4

./configure --prefix=/opt/php5.2 --with-config-file-path=/opt/php5.2 --with-mysql 

,但我不斷收到此錯誤:

configure: error: Cannot find libmysqlclient under /usr. 
Note that the MySQL client library is not bundled anymore! 

任何想法如何解決這個?編輯1:我最大限度地減少了配置命令,所以它只是專注於MySQL。另外我正在運行一個64位版本的ubuntu。

EDIT2:試圖運行ldconfig -v |grep mysql這裏是輸出

# ldconfig -v |grep mysql 
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once 
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once 
/sbin/ldconfig.real: Cannot stat /usr/lib/x86_64-linux-gnu/libnss_db.so: No such file or directory 
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0 
libmysqlpp.so.3 -> libmysqlpp.so.3.1.0 
+1

我猜你需要告訴configure它的目錄在哪裏。 - 看起來這不是問題,而是Google的請求:[php configure:找不到libmysqlclient](http://www.linuxquestions.org/questions/linux-server-73/php-configure-cannot-find-libmysqlclient- 582944 /)(搜索:PHP配置libmysqlclient路徑)。 – hakre

+0

你知道它在哪裏嗎?我試圖尋找它,這裏是結果: './usr/share/doc/libmysqlclient-dev ./usr/share/doc/libmysqlclient18 ./usr/lib/x86_64-linux-gnu/libmysqlclient.so ./usr/lib/x86_64-linux-gnu/libmysqlclient.a ./usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18 ./usr/lib/x86_64-linux-gnu/libmysqlclient_r.so .18.0.0 ./usr/lib/x86_64-linux-gnu/libmysqlclient_r.so ./usr/lib/x86_64-linux-gnu/libmysqlclient_r.a ./usr/lib/x86_64-linux-gnu/libmysqlclient .so.18.0.0 ./usr/lib/x86_64-linux-gnu/libmysqlclient.so.18 ... – farzam

+0

@hakre我將編輯問題並添加其他信息。 – farzam

回答

17

感謝名單@hakre的協助。 這裏是我使用的命令和它的作品:

sudo ./configure --prefix=/opt/php5.2 --with-config-file-path=/opt/php5.2 --with-mysql --with-libdir=/lib/x86_64-linux-gnu 
+0

你是如何發現它必須是'--with-libdir =/lib/x86_64-linux-gnu'?我的意思是確切的路徑。我只看到'#ldconfig -v |的錯誤信息中的路徑grep mysql'輸出,但它也有其他路徑。 – hakre

+0

我知道我應該使用'--with-libdir'參數並且只是嘗試了這個路徑。 – farzam

+3

@hakre使用'locate libmysqlclient'來找出你的文件在哪裏,然後指定確切的位置。 –

4

也許對一些可憐的靈魂,這將工作:

的./configure --with-apxs2 =/usr/sbin目錄/ apxs的--with- mysql = mysqlnd --with-mysqli = mysqlnd --with-pdo-mysql = mysqlnd

+0

你救了我可憐的靈魂:) –

+0

謝謝!它也適用於我。被編譯爲PHP 5.3.29的phpfarm使用卡住了。它同時在apache上使用多個php引擎。一些說明在這裏:https://gist.github.com/gmodarelli/5887778 – liberborn

+0

真棒!在Ubuntu14上的PHP v 5.3.27,我不得不修改它: ./configure --with-apxs2 =/usr/local/apache/bin/apxs --with-mysql = mysqlnd --with-mysqli = mysqlnd --with-pdo-mysql = mysqlnd –

相關問題