溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP編譯時提示libjpeg.(a|so) not fou

發(fā)布時間:2020-03-01 02:30:43 來源:網(wǎng)絡 閱讀:2012 作者:onlinekof2001 欄目:web開發(fā)

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/mysql/mysql --with-mysqli=/mysql/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-gd --with-libxml-dir

在根目錄下查找 find / -name libjpeg.so 發(fā)現(xiàn)確實存在該庫文件

/usr/lib64/libjpeg.so

網(wǎng)上大部分給出的解決方式為:

ln -s /usr/lib64/libjpeg* /usr/lib/

通過軟鏈接的方式將該庫文件指向lib目錄下。但這樣增加鏈接數(shù)不說,還導致后續(xù)維護的麻煩。

包括后續(xù)要為PHP 增加 gd,libpng等都需要做類似的操作,實在是麻煩,思考發(fā)現(xiàn),為什么類似--with-gd這樣的參數(shù)即使指定/usr/lib64這么明確的路徑,編譯過程還是會找lib下的庫?編譯文件的內容太多,不能一一查看,轉念看看是否有參數(shù)另外指定動態(tài)庫的路徑呢?

仔細閱讀了下configure的編譯參數(shù)發(fā)現(xiàn):

--with-libdir=NAME      Look for libraries in .../NAME rather than .../lib

解釋說在指定的名稱下查找?guī)煳募〈鷏ib

OK,找到了參數(shù),在嘗試了數(shù)次后,發(fā)現(xiàn)其實只要指定--with-libdir=/lib64后就能順利通過編譯了。

 

另外:如果編譯PHP時指定mysql路徑問題,因為之前指定的是lib64導致如下報錯Cannot find libmysqlclient_r under /mysql. 所以之類我ln -s /mysql/mysql/lib /mysql/mysql/lib64

 

還有一個問題就是我mysql一開始軟鏈接直接指向根目錄,結果編譯時發(fā)現(xiàn)他查找的路徑是/mysql/mysql,真氣人,為了解決這個問題反復編譯,最終只好把源碼包鏈接到/mysql下形成/mysql/mysql這樣的路徑才解決問題。

 

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI