在編譯安裝好的php基礎上安裝php擴充套件

2021-07-30 00:08:34 字數 1576 閱讀 1336

php是使用原始碼編譯安裝的,現在需要新增mbstring擴充套件

可以使用命令 php -m 來檢視已載入的擴充套件

這裡需要用到phpize    ,phpize是官方提供的乙個動態新增擴充套件的工具

檢查是否有phpize

執行  whereis phpize 或者find / -name phpize

提示 phpize: /usr/local/bin/phpize  說明可用

進入需要編譯安裝的擴充套件目錄(php安裝包的ext目錄)

cd /php-7.1.2/ext/mbstring

輸入命令 /usr/local/bin/phpize 命令執行完畢後,目錄裡面會生成幾個檔案,有configure.. ,

先找到php-config的目錄

執行whereis php-config或者find / -name php-config

我這裡顯示的是  php-config: /usr/local/bin/php-config

然後輸入 ./configure --with-php-config=/usr/local/bin/php-config  命令(這裡的目錄對應你顯示的php-config目錄)

./configure命令後面帶--的都是引數設定,具體擴充套件有哪些引數設定,詳情可以使用 ./configure --help 檢視

執行 make && make install 命令執行完畢後,它會提示你乙個路徑,這個路徑裡面就是我們編譯的好的擴充套件,

修改php.ini配置檔案

vi /usr/local/etc/php.ini

新增一行 extension=mbstring.so

重啟php-fpm和nginx

/etc/init.d/php-fpm restart

/usr/local/nginx/sbin/nginx -s reload

完成以上步驟一般就可以的了,如果還是載入不了,檢視php_info()裡面的資訊

其中  configuration file (php.ini) path 顯示的值為/usr/local/lib

而我的/usr/local/lib目錄下沒有php.ini檔案

把php.ini複製到/usr/local/lib下,

cp /usr/local/php/etc/php.ini /usr/local/lib

重啟php-fpm和nginx

安裝pdo_mysql擴充套件,步驟同上

cd /php-7.1.2/ext/pdo_mysql

這裡不同:

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

修改php.ini,加上

extension=pdo_mysql.so

安裝pdo_mysql擴充套件

a b 在編譯基礎上的討論

關於討論 中的 c a b 這個表示式的面試題一直都在出現。從很直觀的角度上來說你可以理解成為以下的兩種形式 乙個是 c a b 另一種是c a b 其實做過編譯程式的人可以考慮以下過程,在詞法分析階段要進行的是將輸入的檔案切成token,並形成token序列,你可以知道 對 進行處理的時候將執行以...

在編譯好的PHP環境中安裝PHP擴充套件模組

1 先進入php解壓縮後的原始碼包中,找到要安裝的擴充套件模組的目錄。cd usr local src php 5.6 ext sockets 在sockets目錄下面以絕對路徑執行phpize程式 usr local php bin phpize 這時會自動生成sockets的configure程...

在已經有Anaconda的基礎上安裝pytorch

3.解決方法 個人覺得還是踩了不少的坑,藉著正在安裝的機會抽空寫個部落格總結一下。希望後來者能夠借鑑。我一開始是使用 anaconda 的介面來安裝的 以為蠻簡單的,但是事實上我嚴重低估了這件事的難易程度。新增清華源的pytorch 10.0 刪除安裝命令最後的 c pytorch,才會採用清華源安...