1. 程式人生 > >php重新編譯,gd擴充套件支援jpeg檔案

php重新編譯,gd擴充套件支援jpeg檔案

晚上寫東西的時候,報了一個錯誤:

Call to undefined function imagecreatefromjpeg()

沒有開啟 jpeg 支援?原來是預設安裝的 gd 擴充套件預設不支援 jpeg。

1、那麼,來新增 jpeg 格式檔案支援吧。

#下載jpeg擴充套件包
wget http://www.ijg.org/files/jpegsrc.v8b.tar.gz 
#解壓縮擴充套件包
tar -zxvf  jpegsrc.v8b.tar.gz 
#安裝
cd jpeg-8b
./configure --prefix=/usr/local/php-kuozhan/jpeg --enable-shared --enable-static 
make && make install

2、完成第一步之後,如果我們去 php 原始碼目錄 ext/gd 下 使用 phpize重新編譯GD庫擴充套件生成gd.so,在php.ini中加入extension=gd.so後重啟php,會報錯"PHP Warning: Module 'gd' already loaded in Unknown on line 0"。由於編譯安裝時指定的擴充套件屬於靜態擴充套件,如果修改擴充套件就需要重新編譯安裝了

3、來到 php 原始碼目錄,進行重新編譯安裝。

#先停止php-fpm、nginx
pkill -9 php-fpm
/usr/local/nginx/sbin/nginx -s stop
 
#先清除殘留的快取
make clean
 
#重新進行預編譯,注意這一步最後加上了 第一步安裝 jpeg檔案支援
./configure --prefix=/usr/local/php \
--with-gd \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-xml \
--with-openssl \
--with-mcrypt \
--enable-mbstring \
--enable-zip \
--enable-fpm \
--with-jpeg-dir=/usr/local/php-kuozhan/jpeg
 
#安裝
make && make install

4、開啟 fpm、nginx

/usr/local/php/sbin/php-fpm
/usr/local/nginx/sbin/nginx

5、檢視phpinfo

說明已經支援 jpeg 檔案了。

thanks~