Ubuntu下php使用GD库笔记

首先是查看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.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。

123456789
<?php    header("Content-type:image/png");    $im= imagecreatetruecolor(300, 200);    $bg_color=  imagecolorallocate($im, 0, 0, 0);    $text_color= imagecolorallocate($im, 23, 14, 91);    imagestring($im, 1, 5, 5,"A Simple Text String", $text_color);    imagepng($im);    imagedestroy($im);?>

浏览器中打开时,开始遇到了些问题。发现提示我下载文件,下载后用gvim打开发现是乱码,不过其中可以看到PNG字样,猜想这应该就是png图像的二进 制数据,不过没有被浏览器识别。用ultraedit和其他的png图像对比后,发现PNG图像头都相同,只是结尾多了四个字节。不过更名为 pic.png后可以用图像查看器打开。

继续搜,最后在phpchina论坛上看到了很多人问这个问题。找到了一个貌似答案的说法。说是这个php代码是生成图片的,所以不要在php代码之前输 出任何东西,包括空格。试了下,果然可以了。不过需要先关闭浏览器,再打开,不然浏览器输出的是缓存的东西。在另一个文件test.php中用img的 src属性调用src=”pic.php”,这个显示正常。所以我觉得,如果需要用gd库生成图片的,最好生成图片的文件单独出来。

终于纠结完了,开始写验证码。

时间: 2024-10-09 04:30:21

Ubuntu下php使用GD库笔记的相关文章

C++链接库的使用,二维向量,三维向量,Ubuntu下C++测试向量库

1.#include<iostream> using namespace std; int main() { cout<<"Hello Woeld"<<endl; return 0; } 2.vector.cxx #include<iostream> int main() {int k; char x; cout<<"请输入向量的维度:"<<endl; cin>>k; vector

Ubuntu下C++基于eigen库SVD矩阵奇异值分解效率分析

在优化求解问题中,经常要用到矩阵奇异值的SVD分解. 奇异值分解 (singularvalue decomposition,SVD)是一种可靠地正交矩阵分解法,它比QR分解法要花上近十倍的计算时间. 使用SVD分解法的用途是解最小平方误差法和数据压缩. 在Ubuntu下基于eigen C++库测试了eigen SVD算法的性能,即SVD求解最小二乘/伪逆,代码如下: //compile: g++ test_svd.cpp #include <iostream> #include <Eig

ubuntu下安装 openssl 开发库

ubuntu下安装 openssl 开发库 检查是否已安装openssl: sudo apt-get install openssl 如果已安装执行以下操作:sudo apt-get install libssl-devsudo apt-get install libssl0.9.8 Ubuntu 下安装 GTK+ 开发库sudo apt-get install libgtk2.0-dev

ubuntu下python安装第三方库(library)的简易方法

安装个easy_install工具 sudo apt-get install python-setuptools 然后sudo就OK了 比如Ubuntu下Python读写excel库 sudo easy_install xlrd sudo easy_install xlwt sudo easy_install xlutils 使用: import xlrd import xlwt import xlutils

Ubuntu下C++使用icu库检测字符编码

Ubuntu下C++使用icu库检测字符编码.需先安装libicu-dev库: sudo apt install libicu-dev C++代码如下: //g++ -o x x.cpp -licuuc -licui18n #include <stdio.h> #include <string.h> #include <unicode/ucnv.h> #include <unicode/utypes.h> #include <unicode/ucsde

GD库笔记

^.GD简介 PHP 不仅限于只产生 HTML 的输出,还可以创建及操作多种不同格式的图像文件. PHP提供了一些内置的图像信息函数,也可以使用GD函数库创建新图像或处理已有的图像. 目前GD2库支持GIF.JPEG.PNG和WBMP等格式.此外还支持一些FreeType.Type1等字体库. JPEG 是一种压缩标准的名字,通常是用来存储照片或者存储具有丰富色彩和色彩层次的图像.这种格式使用了有损压缩. PNG 是可移植的网络图像,对图像采用了无损压缩标准. GIF 原义是“图像互换格式”,是

ubuntu 下安装32位库 ia32-libs方法

这两天在整Linux系统,要配置JDK,SDK环境,但是SDK配置使用的时候,提示没有权限. 需要安装32位库来解决,还有就是在修改文件的时候提示不能修改.唉...反正就是没有办法正常操作啦 后来根据查找的情况的是因为没有安装32位库原因导致的就开始查找如何,普遍的方法都是用命令安装. 但是提示文件依赖性限制,不能安装. 后来又根据几篇网络文章终于找到方法. 下面就分享出来,以做记录 1.更改权限,在root账户下操作 sudo -i cd /etc/apt/sources.list.d ech

ubuntu下安装nginx依赖库

首先使用dpkg命令查看自己需要的软件是否安装: 查看软件是否安装: 1 dpkg -l | grep pcre 2 dpkg -l | grep zlib 3 dpkg -l | grep openssl 解决依赖包pcre安装,命令: sudo apt-get install libpcre3 libpcre3-dev 解决依赖包zlib安装,命令: sudo apt-get install zlib1g-dev 解决依赖包openssl安装,命令: sudo apt-get install

ubuntu下安装 openssl&amp;&amp;编译运行测试代码

检查是否已安装 openssl: sudo apt-get install openssl 如果已安装执行以下操作:sudo apt-get install libssl-devsudo apt-get install libssl0.9.8 Ubuntu 下安装 GTK+ 开发库sudo apt-get install libgtk2.0-dev 代码: #include <stdio.h> #include <string.h> #include <openssl/hma