首頁 > 後端開發 > PHP問題 > php編譯後還能加擴充功能嗎

php編譯後還能加擴充功能嗎

angryTom
發布: 2023-02-28 06:14:01
原創
3432 人瀏覽過

php編譯後還能加擴充功能嗎

php編譯後還能加擴充功能嗎

##能加擴充。

php本身提供了許多擴展,例如curl,gmp, mbstring等。我們在編譯安裝php時未必安裝了所有擴充功能。那麼安裝完php後,如果想單獨安裝某個php自身的擴充呢?我們以curl擴充模組的安裝為例說明如何單獨加入擴充。

步驟:1.進入php原始碼的擴充目錄。本範例中我的原始碼對應目錄如下:

/search/src/php-7.0.14/ext
登入後複製

2.進入模組目錄,我們安裝的是curl擴展,所以進入curl目錄。此時,我們所在的目錄是


/search/src/php-7.0.14/ext/curl
登入後複製

3.執行phpize。注意,如果你的機器上有多個php版本,一定要執行你準備安裝擴充的php版本對應的phpize。例如,我的機器上同時有php7和php5.3.3。我目前準備為php7安裝curl擴充功能。所以執行php7對應的phpize

/usr/local/php7.0/bin/phpize
登入後複製

  結果類似:

Configuring for:
PHP Api Version: 20151012
Zend Module Api No: 20151012
Zend Extension Api No: 320151012
登入後複製

 4.執行./configure


./configure --with-php-config=/usr/local/php7.0/bin/php-config
登入後複製

說明:如果你的機器上只有一個php版本,大多時候不需要特別使用–with-php-config指明對應的php-config所在位置。

5.執行make,之後會在./modules/目錄下產生curl.so檔案

6.執行make install

結果類似:

Installing shared extensions: /usr/local/php7.0/lib/php/20151012/
登入後複製

 執行結果告訴你將curl.so安裝到了哪個目錄。

一般情況,如果你正確的指定了php-config或你的機器只有一個php版本,so都會正確安裝到對應php的extension_dir。如果執行make install後,extension_dir目錄下沒有對應的so,可以手動將第5步驟產生的so檔cp過去。

要查看具體extension_dir,可以執行下列指令。

php -i| grep extension_dir
登入後複製

結果類似

extension_dir => /usr/local/php7.0/lib/php/20151012/ => /usr/local/php7.0/lib/php/20151012/
登入後複製

7.在php.ini中增加


extension=curl.so
登入後複製

如果不知道php.ini的具體位置,可以透過以下命令查看


php --ini
登入後複製

8.執行以下指令,查看是否安裝成功


php -m | grep curl
登入後複製

如果你看到了curl, 恭喜你,安裝成功!


注意:如果你是使用fpm,apache等方式執行php。在修改對應的php.ini後,也需要重新啟動fpm或apache,新的擴充才會生效

更多PHP相關知識,請造訪

PHP中文網

以上是php編譯後還能加擴充功能嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板