在PHP中实现验证码,很大一方面的问题取决于服务器端的配置,根据你最后输出的图片格式,可能要安装GD,PNG,JPEG,FreeType等包,在我的linux AS4U4服务器上,PHP 5.2.5的配置过程如下:
1、安装libpng
http://nchc.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.25.tar.gz
tar -xvzf libpng-1.2.25.tar.gz
cd libpng-1.2.25
cp scripts/makefile.std makefile
make
make install
2、安装libjpeg
linux安装盘上有 libjpeg-devel-6b-33.i386.rpm,要是从网上下载也行。
rpm -ivh libjpeg-devel-6b-33.i386.rpm
3、安装 freetype
wget http://jaist.dl.sourceforge.net/sourceforge/freetype/freetype-2.3.5.tar.gz
tar -xvzf freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure
make;make install
4、安装GD
wget http://www.libgd.org/releases/gd-2.0.35.tar.gz
tar -xvzf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --with-png --with-freetype --with-jpeg
make;make install
5、安装PHP
源代码 php 5.2.5 ,下载,解压缩:
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --enable-ftp --with-zlib --with-mcrypt --with-gd --with-gettext --with-iconv --with-pdo-mysql=/usr/local/mysql --with-ttf --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir --with-apxs2=/usr/local/apache/bin/apxs
make;make install;
6、编译完成后,在apache目录下生成了php5的module,重启apache
7、建立一个新文件,test.php
<?php
phpinfo();
var_dump(gd_info());
?>
你可以看到GD是否安装正常,GD是否支持 freetype,gif,jpeg等,如果不支持,请在重新试试,在网上搜索一下解决办法。
现在Joomla! 就可以生成验证码图片了,下一篇文章,我们来看看如何生成验证码,并进行合法性验证。