CentOS单独编译安装PHP gd库扩展,Call to undefined function imagettftext()

用tp5的时候用到了验证码,但是显示不出来,报了个错:Call to undefined function imagettftext(),百度了一下发现是gd扩展的问题。


freetype

wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2


tar jxvf freetype-2.4.0.tar.bz2


cd freetype-2.4.0


./configure --prefix=/usr/local/freetype && make && make install

2. jpegsrc


wget http://www.ijg.org/files/jpegsrc.v9.tar.gz


tar zxvf jpegsrc.v9.tar.gz


cd jpeg-9


./configure --prefix=/usr/local/jpeg && make && make install

3. libpng


wget http://jaist.dl.sourceforge.net/project/libpng/libpng16/1.6.18/libpng-1.6.18.tar.gz


tar zxvf libpng-1.6.18.tar.gz


cd libpng-1.6.18


./configure --prefix=/usr/local/libpng && make && make install


因为时间的问题,可能有些包不能下载不了了,可以在网站上找其他版本的安装包,原理都是一样的。

接下来需要cd到php源码包的 gd 目录,否则会报 cannot find config.m4 之类的错误。

然后在这个目录执行命令 /usr/local/php/bin/phpize。什么时候需要用到 phpize 呢?当我们需要再加些模块,又不想重新编译php,这些我们就可以用phpize了。我的PHP安装在 /usr/local/php/ 这个目录里,可以根据个人情况修改。

/usr/local/php/bin/phpize

下来就可以编译安装了

./configure --with-php-configure=/usr/local/php/bin/php-config  --with-jpeg-dir=/usr/local/jpeg  --with-png-dir=/usr/local/libpng   --with-freetype-dir=/usr/local/freetype

或者

./configure --with-php-config=/usr/local/php/bin/php-config  --with-jpeg-dir=/usr/local/jpeg  --with-png-dir=/usr/local/libpng   --with-freetype-dir=/usr/local/freetype
make && make install

接着修改php.ini文件 在 ;extension=php_zip.dll 下面添加一行 extension=gd.so
重启apache或者nginx
然后用phpinfo看一下是不是成功了。

—————————————————————————————————————

亲爱的用户,您好!如果您喜欢这个网站,欢迎赞助我,您的支持是我的动力。

赞赏款用于服务器、文章等网站的固定支出。欢迎大家支持,谢谢!

51cb4e9a9397260f1f774ee07de0b77.jpg