簡介:這是linux安裝php,gd支援jpeg的詳細頁面,介紹了和php,php, gd, libjpeg, linux, imagecreatefromjpeg linux安裝php,gd支援jpeg有關的知識、技巧、經驗,和一些php源碼等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=348690' scrolling='no'>
這幾天弄一個項目的伺服器,一同事突然告訴我報錯誤了
:Fatal error: Call to undefined function imagecreatefromjpeg()
解決辦法:
[size=large]
1,重新安裝php不要安裝gd
[size]
#./configure --prefix=/usr/local/php --with-config-file-path=/etc \--with-mysql=/usr/local/mysql --with-iconv-dir \ --with-zlib --with-libxml-dir --enable-xml --disable-debug --disable-rpath \--enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop \ --enable-sysvsem --enable-inline-optimization --with-curl \--with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm \--with-iconv=/usr/local --enable-force-cgi-redirect --enable-mbstring --with-openssl \#make && make install
2,分別在/lib、/usr/lib、/usr/local/lib 下面都加上libjpeg.so庫(軟串連就行)
ln -sv /usr/lib/libjpeg.so.62.0.0 /lib/libjpeg.so
3,進入php源碼下的ext/gd目錄下,編譯安裝gd
#./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir \--with-freetype-dir#make && make install
4,配置php.ini 加入
extension=gd.so
重啟nginx,php-fpm
解決過程:
網上一查原來是gd不支援jpeg,開啟phpinfo一看果然。
一、於是就重新編譯,安裝php
./configure --prefix=/usr/local/php --with-config-file-path=/etc \--with-mysql=/usr/local/mysql --with-iconv-dir \--with-gd --enable-gd-native-ttf --with-freetype-dir --with-png-dir --with-jpeg-dir \ --with-zlib --with-libxml-dir --enable-xml --disable-debug --disable-rpath \--enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop \ --enable-sysvsem --enable-inline-optimization --with-curl \--with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm \--with-iconv=/usr/local --enable-force-cgi-redirect --enable-mbstring --with-openssl \make && make install
再查看phpinfo,結果還沒有。
二、網上搜素 “gd支援jpeg” 結果還真有很多人遇到同樣的問題。
1,有人說:php內建的gd不支援
2,有人說:需要自己安裝jpeg
3,還有就是重裝
於是,先查自己jpeg安裝了沒有
#rpm -ql libjpeg
發現自己安裝了libjpeg, 而且i386和x86_64都安裝了(其實一個就夠了)。
這就納悶了呀,自己明明安裝了呀。想想自己安裝的gd是php內建的。於是就到php-5.2.17/ext/gd下面自己安裝,運行以下:
#phpize#./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir \--with-freetype-dir#make && make install
在php.ini 裡配上“extention = gd.so”重啟nginx和php-fpm(如果你安裝的是apache,就只重啟apache就行了)
提示:gd already load
哦。。。剛才php已經安裝上了,還得重裝php,把gd相關的參數去掉(上面第三行)
#./configure --prefix=/usr/local/php --with-config-file-path=/etc \--with-mysql=/usr/local/mysql --with-iconv-dir \ --with-zlib --with-libxml-dir --enable-xml --disable-debug --disable-rpath \--enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop \ --enable-sysvsem --enable-inline-optimization --with-curl \--with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm \--with-iconv=/usr/local --enable-force-cgi-redirect --enable-mbstring --with-openssl \#make && make install
重啟nginx、php-fpm
gd已經載入了,可它大爺的還沒有jpg。。。。
那肯定是安裝gd的時候出的問題。於是到php-5.2.17下運行:
#make clean#cd ext/gd#phpize
產生configure檔案,調試configure檔案發現,找libjpeg.so預設到/usr/local/lib下面(貌似各個電腦情況不一樣).於是吧/usr/local/lib下做了個軟串連,重新編譯安裝gd,終於成功了。終於弄清楚了,花了我整整一天啊
愛J2EE關注Java邁克爾傑克遜視頻站JSON線上工具
http://biancheng.dnbcw.info/php/348690.html pageNo:3