phpgdgd2
安装php需要的软件。
123
yum -y install gcc gcc-c++ libzip-devel libxml2-devel libiconv libjpeg-devel libpng-develyum -y install gdgd-devel bzip2-devel curl-devel freetype-devel zlib-devel glibc-devel glib2-develyum -y install libtool-ltdl-devel pcre-devel libmcrypt-devel mhash-devel libxslt-devel gettext-devel
安装libiconv库
123456
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gztar zxf libiconv-1.13.tar.gzcd libiconv-1.13./configure --prefix=/usr/local/libiconvmake && make installcd ..
安装PHP
12345
cd /home/darren/tools#需要手动下载php,附件中也有http://cn2.php.net/get/php-5.6.30.tar.gz/from/this/mirrortar zxf php-5.6.30.tar.gzcd php-5.6.30
2. 《高分》请推荐一款好的系统还原软件 使用方法
一键GHOST
软件名称:一键GHOST(免费版)
软件版本:v11.0 Build 070707
安装环境:WIN2000/XP/2003
运行环境:DOS
软件类别:系统备份
软件简介:
一键GHOST是"DOS之家"首创的4种版本(硬盘版/光盘版/优盘版/软盘版)同步发布的启动盘,适应各种用户需要,
既可独立使用,又能相互配合.主要功能包括:一键备份C盘;一键恢复C盘;中文向导;GHOST11.0.
一键GHOST,高智能的GHOST,只需按一个键,就能实现全自动无人值守操作,让你一爽到底!
主要特点:
1,GHOST11.0内核,全面支持NTFS,WINDOWS家族一网打尽.
2,硬盘版特别适于无软驱/无光驱/无USB接口的台式机和笔记本电脑使用.
3,安装快速,只需1-2分钟;卸载彻底,不留垃圾文件,安全绿色无公害.
4,不破坏系统原有结构,不向BIOS和硬盘绝对扇区写入任何数据,无需划分隐藏分区.
5,一键备份C盘的映像深度隐藏,即便打开"显示所有文件及文件夹"也不可见.
6,界面友好,全中文操作,无需英语和计算机专业知识.
7,真正一键式操作,只需按K键就能实现全自动无人值守操作.
8,WINDOWS/DOS双重启动方案,安装后可立即运行.
9,危险操作之前贴心提示,明明白白放心使用.
10,安装程序即便被误删除也可使用同版本的光盘版/优盘版恢复映像.
11,附带GHOSTEXP,能打开GHO映像,提取其中的文件.
12,密码设置功能,让多人共用一台电脑情况下,不被非法用户侵入.
13,多种引导方式,以兼容各种型号电脑,让特殊机型也能正常启动本软件.
14,错误报告功能,不用笔抄手记就将GHOST错误信息准确上报.
15,服务周到,CHM帮助文档详尽图解,以及在线论坛为您答疑解惑.
3. phpinfo中没有freetype但是我是装了freetype。
什么操作系统?麻烦把你的运行环境写出来,这样才能帮你解决问题。 ./--with-freetype-dir=/usr/local/freetype
4. 我装过apache了,现在想装GD库,请问不从装Apache能实现吗
GD库是PHP支持的,不是Apache的。PHP4以上已经集成了GD库。打开php.ini文件,找到;extension=php_gd2.dll这一项,把前面的分号去掉就可以了。不需要重新安装Apache的
5. 如何开启Php-mbstring、Php-gd模块
找到你的PHP环境中的php.ini文件,搜索下面两行,查看是否前面有分号(;),如果有,去掉,然后重新启动Web服务器(如:Apache,IIS等):
extension=php_gd2.dll
extension=php_mbstring.dll
如果你的服务可以正常启动,应该就已经加载了这两个模块,如果不能启动,你还需要查看一项:
extension_dir =
看看你这项设置的路径是什么,相应的路径里有没有上面加载的两个dll文件,如果没有,你需要根据你的PHP版本去下载相应的文件,并且放到extension_dir指定的目录中。
当然,linux环境下的实现方式是一致的,只是加载的文件的后缀可能不是.dll,具体是什么我忘记了。
6. 如何在PHP中开启GD库支持
开启GD库支持有以下几种方法 检测GD库是否安装命令 php5 -m | grep -i gd 或者 php -i | grep -i --color gd如未安装GD库,则为服务器安装,方法如下 如果是源码安装,则加入参数 --with-gd 如果是debian系的linux系统,用apt-get安装,如下 apt-get install php5-gd 如果是CentOS系的系统,用yum安装,如下 yum install php-gd 如果是suse系的linux系统,用yast安装,如下 yast -i php5_gd 如果嫌这个世界不够蛋疼呢,可以在原先编译PHP不支持GD的情况下附加 先下zlib源码,libpng源码,gd源码 解压后到源码目录 zlib目录 ./configure --prefix=/usr/local/zlib make ; make install make clean libpng目录 cp scripts/makefile.linux ./makefile ./configure --prefix=/usr/local/libpng make ; make install make clean gd目录 ./configure --prefix=/usr/local/libgd --with-png=/usr/local/libpng make ; make install make clean 最后在php.ini中,搜到[gd]后,在下面加一行 extension=/usr/local/libgdgd.so 然后重启php服务,如果不行,试试reboot 所以如果是源码安装,最好还是在编译PHP的时候加参数--with-gd Windows下开启PHP的GD库支持 找到php.ini,打开内容,找到: ;extension=php_gd2.dll 把最前面的分号“;”去掉,再保存即可,如果本来就没有分号,那就是已经开启了。
7. 如何测试PHP有没有开启Php-mbstring、Php-gd两项模块
测试步骤:
1.写一个文件,名字叫test.php,里面的代码如下<?php echo phpinfo();?>
2.将此文件上传到主机上,通过http协议访问这个文件,这个文件会显示当前主机的PHP相关信息
加入域名为www.test.com,则访问http://www.test.com/test.php
3.如果支持Php-mbstring,则应该显示类似下面信息
mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 4.4.4
Multibyte regex (oniguruma) backtrack check On
4.如果支持Php-GD,则应该出现类似一下信息
gd
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.2.1
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
8. 怎样开启php的gd库
Windows下开启PHP的GD库支持
找到php.ini,打开内容,找到:
;extension=php_gd2.dll
把最前面的分号“;”去掉,再保存即可,如果本来就没有分号,那就是已经开启了。
Linux下开启PHP的GD库支持
#开启GD库支持有以下几种方法
##检测GD库是否安装命令
php5 -m | grep -i gd
或者
php -i | grep -i --color gd
##如未安装GD库,则为服务器安装,方法如下
### 如果是源码安装,则加入参数
--with-gd
### 如果是debian系的linux系统,用apt-get安装,如下
apt-get install php5-gd
### 如果是CentOS系的系统,用yum安装,如下
yum install php-gd
### 如果是suse系的linux系统,用yast安装,如下
yast -i php5_gd
### 如果嫌这个世界不够蛋疼呢,可以在原先编译PHP不支持GD的情况下附加
先下zlib源码,libpng源码,gd源码
解压后到源码目录
zlib目录
./configure --prefix=/usr/local/zlib
make ; make install
make clean
libpng目录
cp scripts/makefile.linux ./makefile
./configure --prefix=/usr/local/libpng
make ; make install
make clean
gd目录
./configure --prefix=/usr/local/libgd --with-png=/usr/local/libpng
make ; make install
make clean
最后在php.ini中,搜到[gd]后,在下面加一行
extension=/usr/local/libgdgd.so
然后重启php服务,如果不行,试试reboot
好了,不过最后提醒一下,要知道这个世界很多意外的,源码安装,只添加gd库这一个情况下,PHP版本和库的版本各异
,所以:
- 不保证这么付出了这么多后有回报
- 不保证能够成功加载gd.so
- 不保证不怀孕
所以如果是源码安装,最好还是在编译PHP的时候加参数--with-gd
GD库函数
GetImageSize
作用:取得图片的大小[即长与宽] 用法:array GetImageSize(string filename, array [imageinfo]);
ImageArc
作用:画弧线 用法:int ImageArc(int im, int cx, int cy, int w, int h, int s, int e, int col);
ImageChar
作用:写出横向字符 用法:int ImageChar(int im, int font, int x, int y, string c, int col);
ImageCharUp
作用:写出竖式字符 用法:int ImageCharup(int im, int font, int x, int y, string c, int col);
ImageColorAllocate
作用:匹配颜色 用法:int ImageColorAllocate(int im, int red, int green, int blue);
ImageColorTransparent
作用:指定透明背景色 用法:int ImageColorTransparent(int im, int [col]);
ImageCopyResized
作用:复制新图并调整大小 用法:int ImageCopyResized(int dst_im, int src_im, int dstX, int dstY, int srcX,
int srcY, int dstW, int dstH, int srcW, int srcH);
ImageCreate
作用:建立新图 用法:int ImageCreate(int x_size, int y_size);
ImageDashedLine
作用:绘虚线 用法:int ImageDashedLine(int im, int x1, int y1, int x2, int y2, int col);
ImageDestroy 作用:结束图形 用法解释:int ImageDestroy(int im);
ImageFill
作用:图形着色 用法:int ImageFill(int im, int x, int y, int col);
ImageFilledPolygon作用:多边形区域着色 用法:int ImageFilledPolygon(int im, array points, int num_points,
int col);
ImageFilledRectangle作用:矩形区域着色 用法:int ImageFilledRectangle(int im, int x1, int y1, int x2, int
y2, int col);
ImageFillToBorder作用:指定颜色区域内着色 用法:int ImageFillToBorder(int im, int x, int y, int border,
int col);
ImageFontHeight
作用:取得字型的高度 用法:int ImageFontHeight(int font);
ImageFontWidth作用:取得字型的宽度 用法:int ImageFontWidth(int font);
ImageInterlace作用:使用交错式显示与否 用法:int ImageInterlace(int im, int [interlace]);
ImageLine作用:绘实线 用法:int ImageLine(int im, int x1, int y1, int x2, int y2, int col);
ImageLoadFont作用:载入点阵字型 用法:int ImageLoadFont(string file);
ImagePolygon作用:绘多边形 用法:int ImagePolygon(int im, array points, int num_points, int col);
ImageRectangle作用:绘矩形 用法:int ImageRectangle(int im, int x1, int y1, int x2, int y2, int col);
ImageSetPixel作用:绘点 用法:int ImageSetPixel(int im, int x, int y, int col); ImageString 作用:绘横式
字符串 用法:int ImageString(int im, int font, int x, int y, string s, int col);
ImageStringUp作用:绘直式字符串 用法:int ImageStringUp(int im, int font, int x, int y, string s, int
col);
ImageSX
作用:取得图片的宽度 用法:int ImageSX(int im);
ImageSY
作用:取得图片的高度 用法:int ImageSY(int im);
ImageTTFBBox
作用:计算 TTF 文字所占区域 用法:array ImageTTFBBox(int size, int angle, string fontfile, string text);
ImageTTFText作用:写 TTF 文字到图中 用法:array ImageTTFText(int im, int size, int angle, int x, int y,
int col, string fontfile, string text); ImageColorAt 作用:取得图中指定点颜色的索引值 用法:int
ImageColorAt(int im, int x, int y);
ImageColorClosest
作用:计算色表中与指定颜色最接近者 用法:int ImageColorClosest(int im, int red, int green, int blue);
ImageColorExact
作用:计算色表上指定颜色索引值 用法:int ImageColorExact(int im, int red, int green, int blue);
ImageColorResolve
作用:计算色表上指定或最接近颜色的索引值 用法:int ImageColorResolve(int im, int red, int green, int
blue);
ImageColorSet
作用:设定色表上指定索引的颜色 用法:boolean ImageColorSet(int im, int index, int red, int green, int
blue); ImageColorsForIndex 作用:取得色表上指定索引的颜色 用法:array ImageColorsForIndex(int im, int
index);
ImageColorsTotal
作用:计算图的颜色数 用法:int ImageColorsTotal(int im); ImagePSLoadFont 作用:载入 PostScript 字型 用法
:int ImagePSLoadFont(string filename);
ImagePSFreeFont
作用:卸下 PostScript 字型 用法:void ImagePSFreeFont(int fontindex);
ImagePSEncodeFont
作用:PostScript 字型转成向量字 用法:int ImagePSEncodeFont(string encodingfile);
ImagePSText作用:写 PostScript 文字到图中 用法:array ImagePSText(int image, string text, int font, int
size, int foreground, int background, int x, int y, int space, int tightness, float angle, int
antialias_steps);
ImagePSBBox作用:计算 PostScript 文字所占区域 用法: array ImagePSBBox(string text, int font, int size,
int space, int width, float angle);
ImageCreateFromPNG作用:取出 PNG 图型 用法:int ImageCreateFromPng(string filename);
ImagePNG作用:建立 PNG 图型 用法:int ImagePng(int im, string [filename]);
ImageCreateFromGIF作用:取出 GIF 图型 用法:int ImageCreateFromGif(string filename);
ImageGIF作用:建立 GIF 图型 用法:int ImageGif(int im, string [filename]);
9. PHP header 生成验证图片问题
function yzImg($nmsg){
if (function_exists('imagecreatetruecolor')){
$imstr[0]["s"]=$nmsg[0];
$imstr[1]["s"]=$nmsg[1];
$imstr[2]["s"]=$nmsg[2];
$imstr[3]["s"]=$nmsg[3];
//文件头...
header("Content-type: image/png");
//创建真彩色白纸
$im = @imagecreatetruecolor(60, 20) or die("建立图像失败");
//获取背景颜色
$background_color = imagecolorallocate($im, 255, 255, 255);
//填充背景颜色(这个东西类似油桶)
imagefill($im,0,0,$background_color);
//获取边框颜色
$border_color = imagecolorallocate($im,200,200,200);
//画矩形,边框颜色200,200,200
imagerectangle($im,0,0,59,19,$border_color);
//逐行炫耀背景,全屏用1或0
for($i=2;$i<18;$i++){
//获取随机淡色
$line_color = imagecolorallocate($im,rand(180,255),rand(180,255),rand(180,255));
//画线
imageline($im,2,$i,57,$i,$line_color);
}
//设置字体大小
$font_size=14;
//设置印上去的文字
$Str[0] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$Str[1] = "abcdefghijklmnopqrstuvwxyz";
$Str[2] = "01234567891234567890123456";
//获取第1个随机文字
//$imstr[0]["s"] = $Str[rand(0,2)][rand(0,25)];
$imstr[0]["x"] = rand(2,5);
$imstr[0]["y"] = rand(1,4);
//获取第2个随机文字
//$imstr[1]["s"] = $Str[rand(0,2)][rand(0,25)];
$imstr[1]["x"] = $imstr[0]["x"]+$font_size-1+rand(0,1);
$imstr[1]["y"] = rand(1,3);
//获取第3个随机文字
//$imstr[2]["s"] = $Str[rand(0,2)][rand(0,25)];
$imstr[2]["x"] = $imstr[1]["x"]+$font_size-1+rand(0,1);
$imstr[2]["y"] = rand(1,4);
//获取第4个随机文字
//$imstr[3]["s"] = $Str[rand(0,2)][rand(0,25)];
$imstr[3]["x"] = $imstr[2]["x"]+$font_size-1+rand(0,1);
$imstr[3]["y"] = rand(1,3);
//写入随机字串
for($i=0;$i<4;$i++){
//获取随机较深颜色
$text_color = imagecolorallocate($im,rand(80,180),rand(80,180),rand(80,180));
//画文字
imagechar($im,$font_size,$imstr[$i]["x"],$imstr[$i]["y"],$imstr[$i]["s"],$text_color);
}
//显示图片
imagepng($im);
//销毁图片
imagedestroy($im);
exit;
} else {
header("Pragma:no-cache");
header("Cache-control:no-cache");
header("ContentType: Image/BMP");
$Color[0] = chr(0).chr(0).chr(0);
$Color[1] = chr(255).chr(255).chr(255);
$_Num[0] = "";
$_Num[1] = "";
$_Num[2] = "";
$_Num[3] = "";
$_Num[4] = "";
$_Num[5] = "";
$_Num[6] = "";
$_Num[7] = "";
$_Num[8] = "";
$_Num[9] = "";
echo chr(66).chr(77).chr(230).chr(4).chr(0).chr(0).chr(0).chr(0).chr(0).chr(0).chr(54).chr(0).chr(0).chr(0).chr(40).chr(0).chr(0).chr(0).chr(40).chr(0).chr(0).chr(0).chr(10).chr(0).chr(0).chr(0).chr(1).chr(0);
echo chr(24).chr(0).chr(0).chr(0).chr(0).chr(0).chr(176).chr(4).chr(0).chr(0).chr(18).chr(11).chr(0).chr(0).chr(18).chr(11).chr(0).chr(0).chr(0).chr(0).chr(0).chr(0).chr(0).chr(0).chr(0).chr(0);
for ($i=9;$i>=0;$i--){
for ($j=0;$j<=3;$j++){
for ($k=1;$k<=10;$k++){
echo $Color[substr($_Num[$nmsg[$j]], $i * 10 + $k, 1)];
}
}
}
exit;
}
}
你可以看一下这个是php168的验证码主要程序