首先是查看GD库有没有被正确的安装和加载.经过gd_info()能够看,或者phpinfo。在phpinfo中能够看到gd一栏,而后版本若是是 bundled (2.0.34 compatible) 的话,是从php4.3以后开始绑定的。若是没有的话,能够用命令安装一个:
sudo apt-get install php5-gd.或者为了安装完整版本的,在源列表中添加两行:
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
而后升级下:sudo apt-get update. 再安装php5-gd.php
网上有说,安装完成后php.ini会更新,可是个人并无。搜到gd.so在/usr/lib/php5/20060613+lfs /下,php.ini在/etc/php5/apach2下.因而手动修改php.ini。在其中修改extension_dir=”/usr/lib /php5/20060613+lfs/”,再添加一行extension=gd.so.以后重启apach2: sudo /etc/init.d/apach2 restart。小程序
这些完成后能够写个测试的小程序。我使用的是php手册上的例子.文件名为pic.php。vim
1 |
<?php |
浏览器中打开时,开始遇到了些问题。发现提示我下载文件,下载后用gvim打开发现是乱码,不过其中能够看到PNG字样,猜测这应该就是png图像的二进 制数据,不过没有被浏览器识别。用ultraedit和其余的png图像对比后,发现PNG图像头都相同,只是结尾多了四个字节。不过改名为 pic.png后能够用图像查看器打开。浏览器
继续搜,最后在phpchina论坛上看到了不少人问这个问题。找到了一个貌似答案的说法。说是这个php代码是生成图片的,因此不要在php代码以前输 出任何东西,包括空格。试了下,果真能够了。不过须要先关闭浏览器,再打开,否则浏览器输出的是缓存的东西。在另外一个文件test.php中用img的 src属性调用src=”pic.php”,这个显示正常。因此我以为,若是须要用gd库生成图片的,最好生成图片的文件单独出来。缓存
终于纠结完了,开始写验证码。测试