PHP7安装扩展
使用環(huán)境:Centos7+PHP7.0.9
源碼編譯安裝的php可以通過安裝包目錄的擴(kuò)展包(ext)進(jìn)行組件安裝,需要使用到phpize這個(gè)執(zhí)行文件:
把phpize加到系統(tǒng)全局中,方便使用:
# ln -s /usr/local/php/bin/phpize /bin/
查看php當(dāng)前支持的擴(kuò)展:
# php -m
可以方便看到挺多常用擴(kuò)展(如:mbstring、mcrypt、pdo_mysql、openssl等等)在源碼安裝的時(shí)候并沒裝上。
我安裝openssl為例,進(jìn)入php源碼安裝包ext目錄:
進(jìn)入openssl執(zhí)行phpize進(jìn)行編譯,報(bào)了個(gè)找不到文件的錯(cuò)誤:
沒關(guān)系,通過拷貝config0.m4,創(chuàng)建一個(gè)config.m4,再此執(zhí)行編譯:
又出問題了,沒有autoconf這個(gè)工具:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
因?yàn)閍utoconf 依賴于m4,所以會(huì)自動(dòng)下載解決這個(gè)依賴關(guān)系,通過yum把它下載下來:
# yum -y install autoconf
重新執(zhí)行phpize,沒問題了。
執(zhí)行編譯:
# ./configure --with-php-config=/usr/local/php/bin/php-config
執(zhí)行安裝:
# make && make install
擴(kuò)展存放路徑:
編輯php.ini開啟openssl:
通過命令查找php.ini配置,可以看出系統(tǒng)沒有讀取到php的位置,識(shí)別路徑為/usr/local/php/lib:
# php --ini
把php安裝包中開發(fā)或者產(chǎn)品版配置復(fù)制一個(gè)到指定目錄
編輯php.ini,開啟openssl:
再此執(zhí)行php -m查看擴(kuò)展支持,彈出2個(gè)警告,php_openssl.dll找不找:
去擴(kuò)展目錄查看個(gè)糾結(jié),發(fā)現(xiàn)文件擴(kuò)展名稱跟配置文件名稱不匹配:
重新編輯php.ini,修改openssl模塊名稱:
重新查看看php擴(kuò)展支持:
總結(jié):autoconf這個(gè)工具是依賴工具是關(guān)鍵,php.ini配置要放對(duì)位置,檢查配置擴(kuò)展名稱是否跟安裝的一致。php命令很實(shí)用,可以結(jié)合使用排錯(cuò)。
轉(zhuǎn)載于:https://blog.51cto.com/qq512430/1913660
總結(jié)
- 上一篇: Strom的trident单词计数代码
- 下一篇: js 调用 oc 的解释