exif linux php扩展_LNMP环境为PHP添加exif扩展
在使用時?php報出如下錯誤:?Call to undefined function gemvary\exif_imagetype()
好吧,exif擴展沒安裝...
通過?打印phpinfo()?查看得知?mbstring?擴展是有的,exif擴展沒有
如果mbstring也沒有,也可以參考以下exif擴展的安裝過程;
安裝過程基本類似的;
進入主題:
1、查看當前環境PHP的版本號和安裝目錄whereis?php
結果:
[root@xiaojun?exif]#?whereis?php
php:?/usr/bin/php?/usr/lib64/php?/etc/php.d?/etc/php.ini?/usr/include/php?/usr/local/php?/usr/share/php?/usr/local/php/bin/php?/usr/share/man/man1/php.1.gz
[root@xiaojun?exif]#?/usr/local/php/bin/php?-v
PHP?7.1.7?(cli)?(built:?Mar?16?2018?11:06:26)?(?NTS?)
Copyright?(c)?1997-2017?The?PHP?Group
Zend?Engine?v3.1.0,?Copyright?(c)?1998-2017?Zend?Technologies
那么phpize的位置就是 /usr/local/php/bin/phpize
2、進入php的源碼目錄#這是我電腦上的路徑,得改成自己服務器上的路徑
cd?/www/lnmp1.4/src/php-7.1.7/ext/exif
進入擴展目錄后進行初始化:/usr/local/php/bin/phpize
命令執行后當前目錄會多幾個文件,只要有?configure?這個文件就行
然后再檢查配置,輸入:./configure?--with-php-config=/usr/local/php/bin/php-config
如果有報錯說明路徑不對,使用?whereis php-config?查看服務器上此文件的路徑
接下來再依次執行這兩個命令:make
make?install
執行完會有類似如下信息:[root@xiaojun?exif]#?make?install
Installing?shared?extensions:?????/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
這個目錄就是擴展安裝后的存放目錄;
3、修改php.ini引入擴展vi?/usr/local/php/etc/php.ini
在最后面加入:extension=exif.so
然后保存,重啟PHP就完事了;
需要注意的是?exif.so?必須放在?mbstring.so?的后面,否則會出錯;
可能出現的問題:
重啟PHP時提示:?NOTICE: PHP message: PHP Warning:? Module 'mbstring' already loaded in Unknown on line 0
意思是mbstring這個擴展已經加載過了,還嘗試引入;
解決辦法:
PHP加載模塊有兩種方式,一種是通過php.ini 加載模塊,另一種是通過編譯時的參數加載模塊。
這里出這個提示,那么mbstring應該就是屬于后者,只需要php.ini中將其注釋掉就行了;extension=mbstring.so
輸入/usr/local/bin/phpize后提示:?Cannot find config.m4. Make sure that you run /usr/local/bin/phpize in the top level sourc
我是將openssl擴展內的config0.m4文件改成config.m4就沒提示了;cd?../openssl
cp?./config0.m4?./config.m4
至于為什么openssl擴展的config.m4為什么會影響到安裝其它擴展,暫不得而知;
總結
以上是生活随笔為你收集整理的exif linux php扩展_LNMP环境为PHP添加exif扩展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装了虚拟机后mysql用不了_在虚拟机
- 下一篇: linux8安装ftp服务,CentOS