linux下PHP手動添加擴展庫



1.進入php源程序目錄中的ext目錄中,這里存放着各個擴展模塊的源代碼,選擇你需要的模塊,比如curl模塊:

cd curl

執行phpize生成編譯文件,phpize在PHP安裝目錄的bin目錄下

/usr/local/php/bin/phpize

運行時,可能會報錯:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF

environment variable is set correctly and then rerun this script.“,需要安裝autoconf:

yum install autoconf(RedHat或者CentOS)、apt-get install autoconf(Ubuntu Linux)

生成配置文件,並編譯生成模塊:

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

Image(5)


make


Image(6)


make install


Image(7)


這樣,curl.so就被復制到PHP對應目錄(如:/usr/local/php/lib/php/extensions/no-debug-zts-20131226)

2.修改配置

在php.ini里,設置擴展目錄:

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20131226"

並添加擴展模塊引用:

extension = curl.so

3.檢查並重啟Apache

/usr/local/php/bin/php -v

執行這個命令時,php會去檢查配置文件是否正確,如果有配置錯誤,這里會報錯,可以根據錯誤信息去排查

補充:

1.需要安裝自己手動編譯的擴展包時在ext目錄中如下指定

以下為在/ext/gd文件下安裝gd庫是順便使其支持freetype

./configure --with-freetype-dir=/usr/local/freetype --with-php-config=/usr/local/php/bin/php-config

2.在安裝pdo_mysql擴展時

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make后出現如下錯誤:

Image(8)

意思是在php_pdo_mysql_int.h的第27行包含文件時沒有找到他他所需的mysqlnd.h 但實際上在ext/mysqlnd中能找到mysqlnd.h因此大致是他的包含路徑有問題 ,編輯php_pdo_mysql_int.h  定位到27行改成如下(改成能直接訪問到相應頭文件的路徑)

Image(9)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM