Fatal error: Call to undefined function imagettftext()
2016-01-06 14:16
344 查看
服务器环境 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() 查看, 如果有如下图中红框中的三行, 即表示安装成功
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() 查看, 如果有如下图中红框中的三行, 即表示安装成功
相关文章推荐
- ES6规范之promise模式
- vi常用指令
- Oracle默认账户
- transient关键字
- codevs[1031]质数环
- 打印log日志,保存在本地
- IOS中UIScrollView的contentSize、contentOffset和contentInset属性
- transient关键字
- QT5中如何自定义窗口部件
- 北京python培训哪家好
- redis 可视化管理工具
- Android开发艺术探索学习笔记(六)
- redis服务器及采集端设置
- pt-online-schema-change报错
- MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
- nginx支持https的过程
- java与json互转(日期处理)
- ActiveMQ学习总结(7)——ActiveMQ使用场景
- ActiveMQ学习总结(7)——ActiveMQ使用场景
- ANTLR学习资源汇总