php2008
因为在做一个项目,项目里面服务器主要提供数据,但是数据多了文件就大了,比较浪费流量和时间,我们便用Gzip来处理。我在本机上是apache,服务器上是IIS6.0,用的是php,那么我就在这里分享一下。
IIS 的 GZIP 压缩
1.首先备份 IIS 的配置文件, 复制C:.xml到另外的备份文件夹中. C:.xml是 IIS 的核心配置文件,该文件的完整性一但被破坏,IIS 将无法正常运行,严重到需要重新安装系统.
2. 在开始菜单中启动 Internet 信息服务(IIS)管理器,右键点击“网站”属性,打开“服务”选项卡,勾选“HTTP 压缩”的两个选项。“临时目录”和“临时目录最大容量”可根据需要自行设置。设置完成后点击确定。
3. 右键点击“网站”下方的 “Web服务扩展”,添加一个新的Web服务扩展,扩展名填写为“HTTP Compression”或其他,都可以。“要求的文件”添加:c:windowssystem32inetsrvgzip.dll ,并勾选“设置扩展状态为允许”,完成后点击确定。
4.下面的步骤有些复杂,如果没有确定的把握能理解,最好不要尝试,右键点击“Internet 信息服务的”“本地计算机”属性,勾选“允许直接编辑配置数据库”并确定。
5. 在开始菜单中运行 notepad C:.xml ,打开metabase.xml 文件,请在任何改动前再次确认该文件已经备份。
6. 用文本编辑器打开metabase.xml ,用查找功能找到“IIsCompressionScheme”,共有3处,都在一起,分别是deflate、gzip和 Parameters,deflate也是一种压缩格式,不过性能上不如gzip。需要修改的是deflate和gzip这两段,参数基本一样,都要修改。
HcDynamicCompressionLevel是用来设置压缩率,默认是0,最高是10。低压缩级别生成稍大一些的压缩文件,但对 CPU 和内存资源的总体影响较小。高压缩级别通常会生成较小的压缩文件,但会占用较多的 CPU 时间和内存。有人说设置成9性价比最高。
HcFileExtensions是用来设置压缩的静态文件扩展名,默认是htm、html、txt,根据网站的自身情况添加扩展名,最基本的是js、css。添加时注意原有的换行格式。
HcScriptFileExtensions是用来设置压缩的动态文件扩展名,默认是asp、dll和exe,根据需要自行添加扩展名,无外乎 aspx、php等。可以将这一项的默认删除留空,这样所有的动态响应都以压缩方式发送。另外,还将动态压缩 HcFileExtensions 中所有未指定的静态文件类型,并且因此不将它们放入缓存。同样地,必须将 HcDoDynamicCompression 设置为 true,以进行动态压缩。
PHP Gzip
/*
*压缩数据
*/
publicstaticfunctionob_gzip($content)//$content就是要压缩的页面内容,或者说饼干原料
{
if(!headers_sent()&&//如果页面头部信息还没有输出
extension_loaded("zlib")&&//而且zlib扩展已经加载到PHP中
strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip"))//而且浏览器说它可以接受GZIP的页面
{
$content=gzencode($content."OK",9);//此页已压缩”的注释标签,然后用zlib提供的gzencode()函数执行级别为9的压缩,这个参数值范围是0-9,0表示无压缩,9表示最大压缩,当然压缩程度越高越费CPU。
//然后用header()函数给浏览器发送一些头部信息,告诉浏览器这个页面已经用GZIP压缩过了!
header("Content-Encoding:gzip");
header("Vary:Accept-Encoding");
header("Content-Length:".strlen($content));
}
return$content;//返回压缩的内容,或者说把压缩好的饼干送回工作台。
}
B. 如何在windows 2008 server r2中配置php程序
如何在windows 2008 server r2中配置php程序
一、准备工作
1、所需软件:
MySQL数据库:本文用MySQL-essential-5.0.45-win32.msi PHP : 本文用php-5.2.4-Win32.zip
ZendOptimizer :本文用ZendOptimizer-3.3.0-Windows-i386.exe 将上述软件网上搜索下载后置于同一目录中,比如:webtools(下文举例同)
2、安装IIS 7,简要步骤如下:
(1)在控制面板中,选择程序-打开关闭Windows功能;
(2)在弹出的Windows功能中选中Internet信息服务;
(3)展开-万维网服务-应用程序开发功能,选中ISAPI扩展(重要);
(4)确定后自动安装;
(5)在IE地址栏里输入http://127.0.0.1(你的IP地址),即可看到IIS7的欢迎界面(图1)
二、PHP环境部署攻略
MySQL数据库部署
(1) 安装MySQL数据库
进入 X:Webtools 目录点击MySQL-essential-5.0.45-win32.msi开始安装,
选择 Custom 定制安装,
选择"Change"更改MySQL 安装位置,
文件复制完毕后,进入 MySQL 设置界面,单击 Finish(完成) ,
选择 Detailed Configuration (详细配置),
选择 MySQL 运行模式,在此处,我们选择Server Machine
选择 MySQL 数据库默认存储方式-Non-Trans Only
设置最大连接数:这里我们选择 128 - 512 之间的整数即可。
此处设置 MySQL 网络参数,Strict Mode不要选择,
设置默认字符集:这里我们选择了GBK模式,需要按照自己的需要选择即可,
Windows服务模式设定
修改设定 root 用户密码(remote machines不要启动)
MySQL安装完成,
(2) 测试 MySQL数据库。
在命令行模式下(开始-运行-CMD)输入:
MySQL –uroot –p
按照提示输入密码后,如能进入 MySQL 控制台则说明 MySQL 安装正常,否则需要检查先前安装步骤和相应服务是否启动,进行重新安装。
(3) 更改 MySQL 数据库目录
1)打开 cmd 命令提示符窗口,输入命令:
net stopMySQL
停止 MySQL 服务运行;
2) 打开X:WebMySQLmy.ini
找到:
Datadir ="X:WebMySQLdata"
修改为:
Datadir ="X:Database"
3) 将 X:WebMySQLdata 目录复制到 X: ,并重命名为X:Database;
4) 打开 cmd 命令提示符窗口,输入命令:net startMySQL 启动 MySQL 服务,重新测试 MySQL 是否工作正常。
5)准备 LibMySQL 动态链接库
将X:WebMySQLbinlibMySQL.dll 文件复制到C:WindowsSystem32 即可。
2. PHP服务部署
(1) 解压缩php-5.2.4-Win32.zip文件并将其复制到:X:WebPHP目录、将 php.ini-dist 重命名为 php.ini ;
(2) 打开 php.ini 文件,找到:extension_dir= "./"
将其改为;
extension_dir= "X:WebPHPext"
(3) 找到:Windows Extensions :(去掉模块配置每行前面的;号即可)
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_MySQL.dll
(5) 找到:
disable_functions =
改为:
disable_functions =phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,
openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
保存 php.ini 文件,并将其复制到 C:Windows 目录。
3. IIS 7整合PHP-新建站点
(1) 启动 IIS 管理器,选择新建-网站,
(2) 输入网站名称,可任意输入。网站IP地址不用填写,端口如没有特殊要求则保持 80 即可,最后正确输入网站域名。
(3) 在网站分区中建立 wwwroot 以及下级站点目录。
(4)给予该站点"读取"和"运行脚本"的权限以便PHP应用。
4. IIS整合 PHP- 使站点支持 PHP
(1) 打开刚刚建立的网站属性,
(2) 在站点属性窗口中,单击"主目录"页签,单击"配置"按钮,在新弹出的"应用程序配置"对话框中,单击"添加"按钮,加入 PHP 的 ISAPI 支持,选择可执行文件:X:WebPHPphp5isapi.dll 、扩展名为 .php 、限制动作为:GET,POST 。单击"确定"添加,并在"应用程序配置"窗口中查看 .php 扩展是否加载成功。若成功,则单击"确定"关闭配置窗口,回到站点属性主窗口。
(3) 单击"文档"页签,在默认内容文档中添加 index.htm、index.html、index.php 三个文件。
(4)右键单击"Web 服务扩展",添加 PHP 扩展支持。
(5) 在如下图的"新建WEB服务扩展"对话框中,"扩展名"填写PHP,"文件"选择 X:WebPHPphp5isapi.dll ,并设置该PHP扩展默认为允许。
(6) 重启 IIS 服务,
5、测试 PHP
IIS与PHP的整合已经完毕,下面需要测试 PHP 支持是否正常。
(1) 进入 X:wwwrootbbs 目录,新建一个 phpinfo.php 文件,内容为:
<?
phpinfo();
?>
C. PHP工程师的PHP发展历程
PHP最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在 1995年以Personal HomePageTools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中, PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对MySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。
在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式释出,2004年7月13日则释出了PHP 5,PHP 5则使用了第二代的Zend Engine[5]。PHP包含了许多新特色,像是强化的面向对象功能、引PDO(PHPData Objects,一个存取数据库的延伸函数库)、以及许多效能上的增强。目前PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。
2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一些其他的功能强化。PHP 6 的开发也正在进行中,主要的改进有移除register_globals、magic quotes 和 Safe mode的功能等。