Linux 上安裝 PHP 擴展

我一般會選用源碼安裝 php,安裝 php 的過程指定要安裝的擴展,但是避免不了缺少某個擴展未安裝導致程序運行報錯的問題。以 fileinfo 爲例,介紹一下怎麼添加 php 擴展。

1. 準備

通常遇到報錯:xxx function undefined,而這個函數是系統函數的話,那一定是你缺少某個擴展。添加擴展也非常簡單。首選要確認當前的 php 是哪個版本,不同版本的 php 擴展會有些許出入。然後找到 Php 源碼目錄,也就是從網上下載下來並且解壓的 php 文件包。添加擴展的時候需要在源碼包裏面去執行命令。

2. 安裝 fileinfo 擴展

1. 確認 php 版本

php -v
# PHP 7.4.4 (cli)

  

2. 找到 php 可執行文件的位置

whereis php
# php: /usr/local/php /usr/local/php/bin/php

  

可以看出 php 執行文件在 /usr/local/php/bin 目錄裏面

那麼嘗試執行 phpize,保證這個文件存在,phpize 命令在添加擴展的時候需要用到

/usr/local/php/bin/phpize -v
# Configuring for:
# PHP Api Version:         20190902
# Zend Module Api No:      20190902
# Zend Extension Api No:   320190902

  

3.進入php源碼目錄

我的習慣是網絡下載的軟件會放在 /usr/local/src 下面,

cd /usr/local/src/php-7.4.4
cd /etc
cd fileinfo

  

擴展都在源碼目錄的 etc 下面,裏面有 curl,gd,ftp 等等擴展目錄,我要安裝 fileinfo,所以到 fileinfo 目錄裏面

4.開始安裝

確定目錄下面有 config.m4 文件,如果沒有,應該會有 config0.m4 文件,把 config0.m4 複製一份爲 config.m4,如果沒有這個文件,會報錯:can not found config.m4

/usr/local/php/bin/phpize
./configure
make && make install

  

如果這幾行命令運行下來都沒有報錯,那麼說明擴展文件已經生成,並且已經自動移入相應位置。接下來就是修改 php.ini,追加 extension=fileinfo.so 到 php.ini 中。

5.修改php.ini,加載擴展文件

查看 php.ini 的位置

php -i | grep php.ini
#Configuration File (php.ini) Path => /usr/local/php/etc
#Loaded Configuration File => /usr/local/php/etc/php.ini

  

可以看到 php.ini 的位置: /usr/local/php/etc/php.ini

vim /usr/local/php/etc/php.ini
#添加extension=fileinfo.so,保存
php -m | grep fileinfo
#fileinfo

  

看到輸出 fileinfo,至此,fileinfo 擴展安裝完畢!另外可以使用 pecl 命令安裝,更方便快捷!

 

更多學習內容請訪問:

騰訊T3-T4標準精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個臺階(持續更新)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章