PHP安装配置说明
一、软件下载
PHP5.3.0:http://cn2.php.net/get/php-5.3.0.tar.gz/from/this/mirror
Pear:http://de.pear.php.net/get/PEAR-1.9.0.tar
Mm:ftp://ftp.ossp.org/pkg/lib/mm/mm-1.4.2.tar.gz
二、环境检查
已安装Apache2.2.13(/usr/local/apache/),mm-1.4.2(/usr/local/mm/)
rpm -qa|grep mcrypt
libmcrypt-devel-2.5.8-4.el5.centos
libmcrypt-2.5.8-4.el5.centos
rpm -qa|grep mysql-devel
mysql-devel-5.0.77-3.el5
rpm -qa|grep pcre
pcre-6.6-2.el5_1.7
注:具体环境视编译参数而定,此处仅给出下面编译参数需要的部分环境
三、编译安装
1、INSTALL说明
第一章:
php作用:网站和网络应用程序(服务器端脚本) 命令行脚本 桌面GUI应用程序
第二章:在Unix系统上安装
警告:不建议在apache2中使用线程MPM,可以使用prefork MPM代替或者使用apache1。
兼容性:php4.2.0与apache2.0的SAPI兼容,php4.2.3与apache2.0.39协同工作,不能与其他版本工作。php4.3.0及以上与apache2的大部分当前版本兼容。所有提到的php版本与apache1.3.X的版本兼容。
警告:不建议在apache2中使用线程MPM,可以使用prefork MPM代替或 ......
验证码的大致原理是这样的,首先生成一个随机数,然后在数据数上面加上干扰图片,同时把该数据生成图片并输出。
这个数据保存在session中。然后把用户的输入与保存在session中的数据进行匹配,进行验证。
verifyCode.php代码如下:
<?php
Header("Content-type: image/PNG");
session_start();
//准备好随机数发生器种子
srand((double)microtime()*1000000);
//准备图片的相关参数
$im = imagecreate(62,20);
$black = ImageColorAllocate($im, 0,0,0); //RGB黑色标识符
$white = ImageColorAllocate($im, 255,255,255); //RGB白色标识符
$gray = ImageColorAllocate($im, 200,200,200); //RGB灰色标识符
//开始作图
imagefill($im,0,0,$gray);
while(($randval=rand()%100000)<10000);
{
$_SESSION["check_num"] = $randval;
//将四位整数验证码绘入图片
imagestring($im, 5, 10, 3, $randval, $black);
}
//加入干扰象素
for($i=0;$i<200;$i++){
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255 ......
首先检查一下的安装包:
rpm -q gd
rpm -q
jpegsrc
rpm -q libpng
rpm -q zlib
rpm -q freetype
如果以上的安装包没有,请自行安装,其实要只要gd 和libpn 相关的包即可,其他的为了支持其他图形格式而已。
(以下的安装步骤为整理自网络文章)
1.安装zlib
tar zxvf zlib-1.2.2.tar.gz
cd zlib-1.2.2
./configure
make
make install
2.安装libpng
tar zxvf libpng-1.2.7.tar.tar
cd libpng-1.2.7
cd scripts/
mv makefile.linux
../makefile
cd ..
make
make install
注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个
3.安装freetype
tar zxvf freetype-2.1.9.tar.gz
cd freetype-2.1.9
./configure
make
make install
4.安装Jpeg
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure --enable-shared
--enable-static
make
make test
make install
注意,这里configure一定要带--enable-shared参数,不然,不会生成共享库
5.安装GD
tar zxvf gd
-2.0.33.tar.gz
cd gd
-2.0.33
./configure --with
-png --with
-freetype ......
http://linux.sheup.com/linux/linux4646.htm
GB2312->UTF-8 转换函数
以下是一段gb2312 -> UTF-8 的函数,西西,我抄了
unicode -> UTF-8 的算法,所以实际比GB2312->unicode
没多多少东西,请大家注意调用gb2utf8()时不能中英文混用
程序需要的GB2312.txt文件
gb2utf8.php
//Program writen by sadly www.phpx.com
function gb2utf8($gb)
{
if(!trim($gb))
return $gb;
$filename="gb2312.txt";
$tmp=file($filename);
$codetable=array();
while(list($key,$value)=each($tmp))
$codetable[hexdec(substr($value,0,6))]=substr($value,7,6);
$utf8="";
while($gb)
{
if (ord(substr($gb,0,1))>127)
{
$this=substr($gb,0,2);
$gb=substr($gb,2,strlen($gb));
$utf8.=u2utf8(hexdec($codetable[hexdec(bin2hex($this))-0x8080]));
}
else
{
$gb=substr($gb,1,strlen($gb));
$utf8.=u2utf8(substr($gb,0,1));
}
}
$ret="";
for($i=0;$i $ret.=chr(substr($utf8,$i,3));
return $ret;
}
function u2utf8($c)
{
for($i=0;$i $str="";
if ($c < 0x80) {
$str.=$c;
}
else ......
* 摘要:CentOS LAMP作为服务器,不安装不需要的组件,所以在选择组件的时候,不要选web服务器,因为我们后面要手动编译安装。CentOS LAMP系统约定RPM包和源码包存放位置
* 标签:CentOS LAMP
*
Oracle帮您准确洞察各个物流环节
特别值得一提的是CentOS LAMP有很多值得学习的地方,这里我们主要介绍CentOS LAMP环境搭建,包括介绍CentOS LAMP配置等方面。系统安装安装RHEL 5 / CentOS 5。
CentOS LAMP作为服务器,不安装不需要的组件,所以在选择组件的时候,不要选web服务器,因为我们后面要手动编译安装。CentOS LAMP系统约定RPM包和源码包存放位置:
1. RPM包和源码包存放位置 /usr/local/src
2. 源码包编译安装位置(prefix) /usr/local/XXX
3. MySQL 数据库位置 /usr/local/mysql/var
4. 网站根目录 /usr/local/apache/htdocs
CentOS LAMP环境搭建
搭建的工作包括APACHE、MYSQL、PHP。可以按照这个顺序来搭建环境。
1、获取软件包
1. Httpd: http://www.apache. ......
* 摘要:CentOS LAMP作为服务器,不安装不需要的组件,所以在选择组件的时候,不要选web服务器,因为我们后面要手动编译安装。CentOS LAMP系统约定RPM包和源码包存放位置
* 标签:CentOS LAMP
*
Oracle帮您准确洞察各个物流环节
特别值得一提的是CentOS LAMP有很多值得学习的地方,这里我们主要介绍CentOS LAMP环境搭建,包括介绍CentOS LAMP配置等方面。系统安装安装RHEL 5 / CentOS 5。
CentOS LAMP作为服务器,不安装不需要的组件,所以在选择组件的时候,不要选web服务器,因为我们后面要手动编译安装。CentOS LAMP系统约定RPM包和源码包存放位置:
1. RPM包和源码包存放位置 /usr/local/src
2. 源码包编译安装位置(prefix) /usr/local/XXX
3. MySQL 数据库位置 /usr/local/mysql/var
4. 网站根目录 /usr/local/apache/htdocs
CentOS LAMP环境搭建
搭建的工作包括APACHE、MYSQL、PHP。可以按照这个顺序来搭建环境。
1、获取软件包
1. Httpd: http://www.apache. ......
PHP获取客户端IP的情况分为:没有使用代理服务器的情况、使用透明代理服务器的情况、使用普通匿名代理服务器的情况、使用欺骗性代理服务器的情况、使用高匿名代理服务器的情况。
在这篇文章中,我们将会为大家详细介绍PHP获取客户端IP的几种情况分析。我们在使用PHP获取的IP可能是客户端真实的IP,也可能是代理服务器的IP,也有可能根本取不到任何IP值。
在PHP获取客户端IP中常使用 $_SERVER["REMOTE_ADDR"] 。但如果客户端是使用代理服务器来访问,那取到的是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取。
但只有客户端使用“透明代理”的情况下,$_SERVER["HTTP_X_FORWARDED_FOR"] 的值才是客户端真正的IP(如果是多层代理,该值可能是由客户端真正IP和多个代理服务器的IP组成,由逗号“,”分隔),而在“匿名代理”、“欺骗性代理”的情况下是代理服务器的IP值(如果是多层代理,该值可能由多个代理服务器的IP组成,由逗号“,”分隔),在“高匿名代理”的情况下是空值。
关于HTTP头信息中的RE ......