标签:
服务器环境 centos
php 版本是 5.6.15, 源码编译安装
编译时未把 freetype 编译安装, 造成了如题所示的错误.
解决此问题时, 走了许多错路.
现把解决步骤记录一下
1. 可以使用 yum 安装一些所需的依赖库
yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel curl curl-devel openssl openssl-devel
2. 进入 php 源码目录, 我的目录是: /opt/source/php-5.6.15
可以先执行 make clean 作用是清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件
编译时添加 --with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd
我的配置参数如下:
‘./configure‘ \
‘--prefix=/usr/local/php‘ \
‘--with-mysql=/opt/source/mysql‘ \
‘--with-config-file-path=/usr/local/php/etc‘ \
‘--enable-soap‘ \
‘--enable-pdo‘ \
‘--with-pdo-mysql‘ \
‘--with-snmp‘ \
‘--enable-wddx‘ \
‘--with-openssl‘ \
‘--enable-fpm‘ \
‘--with-mcrypt‘ \
‘--enable-mbstring‘ \
‘--with-curl‘ \
‘--with-mhash‘ \
‘--enable-zip‘ \
‘--with-pcre-regex‘ \
‘--enable-sysvsem‘ \
‘--enable-sysvshm‘ \
‘--enable-pcntl‘ \
‘--enable-mbregex‘ \
‘--enable-inline-optimization‘ \
‘--with-bz2‘ \
‘--with-zlib‘ \
‘--enable-sockets‘ \
‘--with-png-dir‘ \
‘--with-freetype-dir‘ \
‘--with-jpeg-dir‘ \
‘--with-gd‘ \
‘--with-mysqli‘ \
不出意外的话, 此处会成功配置成功, 并生成配置文件, 然后执行 make && make install
3. 编译成功之后, 记得要使用编译之后的 php 替换掉环境变量里的 php 命令(如果你把你本地 php 编译环境放入了环境变量的话, 这步可以忽略)
比如我这里, 就会执行如下两条命令:
cp /usr/local/php/bin/php /usr/bin/php
cp /usr/local/php/sbin/php-fpm /usr/sbin/php-fpm
运行 phpinfo() 查看, 如果有如下图中红框中的三行, 即表示安装成功
Fatal error: Call to undefined function imagettftext()
标签:
原文地址:http://www.cnblogs.com/debmzhang/p/5105412.html