环境:centos6.4(64位) 、Apache/2.2.24 (Unix) 、 PHP/5.4.21
问题:新项目(用的OneThink为框架)验证码无法显示,提示缺少freetype.
问题:新项目(用的OneThink为框架)验证码无法显示,提示缺少freetype.
解决方案:重新安装php
具体步骤如下:
PHP安装
要考虑安装SVN所需的东西(Apache),OneThink的东西
1.安装依赖项
yum install perl
yum install libxml2
yum install libxml2-devel
yum install libjpeg libjpeg-devel
yum install libpng-devel
yum install freetype-devel
yum install gd-devel
yum install curl curl-devel
2.配置源码
cd ~/src //转到存放源代码压缩包的目录中。
tar zxvf php-5.3.13.tar.gz
cd php-5.3.13/
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-gd --with-zlib --with-jpeg-dir=/usr/lib64/ --with-png-dir=/usr/lib64/ --with-freetype-dir=/usr/lib64/ --enable-gd-native-ttf --enable-sockets --with-iconv --enable-mbstring --with-config-file-path=/usr/local/php5/etc --enable-zlib=/usr/lib64/ --enable-zip --with-curl --with-xpm-dir=/usr/lib64/
make
make install
cp php.ini-production /usr/local/php5/etc/php.ini
3.重启Apache服务器,使用phpinfo查看php是否安装成功。
service apache2 restart
在默认的网站目录中,新建php文件,然后用web browser 或者wget测试
(如果curl没有开启,请检查php.ini 文件是否存在
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/"
extension = curl.so 不存添加即可)
编译时会出现如下错误:
checking for jpeg_read_header in -ljpeg... yes
If configure fails try --with-vpx-dir=<DIR>
checking for png_write_image in -lpng... yes
configure: error: libXpm.(a|so) not found.
原因:
configure一般的搜索编译路径为/usr/lib/下,因为php默认就在/usr/lib/下找相关库文件 (摘自网上)
解决方案:
主机是x64平台,
ln -s /usr/lib64/libXpm.so* /usr/lib/
并且编译时指定, --with-xpm-dir=/usr/lib64/x11
ln -s /usr/lib64/libXpm.so* /usr/lib/
并且编译时指定, --with-xpm-dir=/usr/lib64/x11
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-gd --with-zlib --with-jpeg-dir=/usr/lib64/ --with-png-dir=/usr/lib64/ --with-freetype-dir=/usr/lib64/ --enable-gd-native-ttf --enable-sockets --with-iconv --enable-mbstring --with-config-file-path=/usr/local/php5/etc --enable-zlib=/usr/lib64/ --enable-zip --with-curl --with-xpm-dir=/usr/lib64/x11
之后就不会出现错误,运行make和make install 即可安装,如果是重新安装不许要配置php.ini的话,可以不用执行
cp
php.ini-production
/usr/local/php5/etc/php
.ini
昨天晚上折腾了好久,终于折腾好了,之后OneThink的验证码就可以正常显示了。