php环境搭建(cann't load与cann't api)

win+iis+php_vc9_nts(non-thread safe)

win+apache+php_vc6_ts(thread safe)


cann't load问题是php5_module大小写问题;cann't api 。。。是版本问题换个版本

httpd-2.2.15-win32-x86-no_ssl.msi + php-5.3.1-Win32-VC6-x86.zip + mysql-essential-5.1.45-win32.msi

httpd.conf配置

LoadModule php5_module(全小写) c:/php/php5apache2_2.dll(要在文件夹找到这个文件才行)

AddType application/x-httpd-php .php .html .htm

PHPIniDir "c:/php"

当用ide开发时,要修改documentroot时,要把原来的

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

 

将这里的 Deny from all

修改为 Allow from all

 

另外,确定

 设置默认主页

<IfModule dir_module>
    DirectoryIndex index.html index.shtml index.cgi index.php index.phtml index.php3
</IfModule>

 

你的项目中存在 所列出的默认访问文件中的一个

 

如果有一个文件的路径为d:\web\arn\top.php,则

当documentroot为d:\web时,在url中要输入localhost/arn/top.php

当documentroot为d:\web\arn时,在url中要输入localhost/top.php
*************************************************************************************************************************************************************

 

php.ini-development,php.ini-production 或php.ini-dist ,php.ini-recommended

把php.ini-development或php.ini-recommended改成php.ini

然后改一下里面的参数:

;extension_dir="./"改成extension_dir = "c:/php/ext"


 在xp下搭建php5.2.17时,还需要额外的配置,否则加载不了数据库模块(apache日志显示php warning:php startup:unable to load dynamic library 'd:\\php5\\ext\\php_mysql.dll'),需要在操作系统的环境变量中加入如下字符,

path=>d:\php5;d:\php5\ext

在系统变量中新建一个名字为phprc(名字随意)值为d:\php5


测试Apache

<?php

phpinfo();

?>

 

测试mysql

<?php

$ok = mysql_connect("localhost","root","msnet");

if($ok)

{

echo "连接成功";

}






***********************************************************************************************************************************************************************************

我的

IIS + FastCGI + PHP5.3 + MySQL5.1 + Gzip 详细配置图文教程


说明:
本帖是我经过一天一夜完成的,不同于一般网上文章,除详细的将整个配置过程和测试过程都详细截图说明外,尤其在FastCGI方面采用微软的“web平台安装程序”来配置,网上相关内容很少,对gzip的设置也很详细,保证按图操作即可独立完成。另外,还有详细的测试gzip压缩率的方法和比较。

文中对于理论几乎没有阐述,只是对配置过程进行了最详细的介绍,这样使新手即使不太明白,照本文也可以配置出一样的环境来,本文章的错误及疏漏之处,还请大家指出来,大家在配置中有何问题,我们一起来探讨解决。

本帖旨在帮助新手快速配置出IIS + FastCGI + PHP5.3 + MySQL5.1 + Gzip环境,高手可以飘过,本文里面图片较多,每步操作均有详细的图片说明,只要照做,均可一次配置成功。



=================================================================================================================================

IIS + FastCGI + PHP5.3 + MySQL5.1 + Gzip 详细配置图文教程

本文所用的软件名称及下载地址:
PHP5.3.2:php-5.3.2-nts-Win32-VC9-x86.zip
地址:http://windows.php.net/downloads/releases/php-5.3.2-nts-Win32-VC9-x86.zip

MySQL:mysql-essential-5.1.48-win32.msi
地址:http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/mysql-essential-5.1.48-win32.msi

FastCGI:这个有两种配置方法,正文中详细介绍

phpMyAdmin:本文用的是3.3.4版

Zend Optimizer:目前的Zend Optimizer还不支持PHP5.3.2 ,等出新版后我们再装。

前言:PHP5.3的版本选择

现在的PHP5.3 For Windows一共给了四个版本:VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,参考PHP官网提供下载的地方左边的英文来看看这几个版本有什么区别。

一、如何选择PHP5.3的VC9版本和VC6版本
VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。
VC9版本是使用Visual Studio 2008编译器编译的,如果你的PHP是用IIS来架设的,那你就选择VC9版本。

二、如何选择PHP5.3的Thread Safe和Non Thread Safe版本
先从字面意思上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
再来看PHP的两种执行方式:ISAPI和FastCGI。
ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线 程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;
而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效 率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。

我们使用IIS+FastCGI方式配置服务器环境,所以使用Non Thread Safe版本。


了解了如何选择PHP版本,下面开始我们的IIS+PHP5.3+MySQL5.1+Gzip的配置过程


第一步:手工配置PHP5.3

下载目前为止最新版的PHP5.3.2

因为手工配置更灵活且更能了解细节,所以我们介绍手工配置PHP,所以选择下载zip文件:php-5.3.2-nts-Win32-VC9-x86.zip。



1、解压php-5.3.2-nts-Win32-VC9-x86.zip至安装目录,这里是C:\



2、打开php-5.3.2-nts-Win32-VC9-x86,建立php.ini文件
复制一个新的php.ini-development文件,并将文件名改为phi.ini。
如下图



3、打开php.ini文件,修改extension_dir的值



修改data.timezone的值



选择启用模块:将用到的模块前的;去掉,注意启用php_exif.dll时,必需将其放在mbstring后面,即将php_exif.dll剪切到php_mbstring.dll后面。



配置FastCGI模式时,将cgi.force_redirect设置为0,将cgi.rfc2616_headers和fastcgi.impersonate设置为1。



稍候我们会使用iProber探针来检测php环境,所以这里必须开启short_open_tag = On,否则,会出现“iProber.php on line 910”错误。



至此,php部分配置完毕。下面我们来在IIS里添加对php的支持,当然,我们采用的FastCGI方式。

第二步:配置IIS的FastCGI模块

为IIS增加FastCGI模块有两种方式,一种是直接下载FastCGI Extension文件,另一种是使用微软的“web平台安装程序”,在这里我们介绍后者。

第一种方式中FastCGI Extension 文件的名称和下载地址为:
文件名:FastCGI Extension 1.5 for IIS 6.0 and IIS 5.1 - RC (x86)
地址:http://www.iis.net/downloads/default.aspx?tabid=34&i=1877&g=6

该安装程序需要.net 2.0支持,请确认已经安装.net Framework2.0。

下面我们来介绍使用微软的“web平台安装程序”来配置FastCGI。

1、 FastCGI第一步:打开微软的“web平台安装程序”,网址是:
http://www.microsoft.com/web/gallery/install.aspx?appid=fastcgiiis6
打开该网址单击下面红框内的按钮,进入下一步。



在弹出的对话框里,单击运行。




弹出安全警告对话框,再次单击运行。



接下来是下载web安装程序对话框




下载完安装程序后是加载web平台



加载完后,弹出FastCGI安装程序对话框,单击安装继续。



接下来是同意条款,单击我接受



正式进入安装,由于文件较小,安装过程非常迅速。



稍候即完成安装!



最后,单击退出并关闭IE



2、 下面在IIS服务里面进行配置,在IIS里右击“网站”节点,然后单击属性,弹出属性对话框。如图



单击“主目录”选项卡,然后单击“配置”按钮



单击添加,添加一个新的ISAPI项



在C:\window\system32\inetsrv目录下,选中fcgiext.dll



注意,这里别忘了添加.php扩展名



在C:\windows\system32\inetsrv文件夹中,找到fcgiext.ini文件,并打开



在fcgiext.ini文件底部添加如下配置信息:

[Types]
php = PHP
[PHP]
ExePath=C:\php-5.3.2-nts-Win32-VC9-x86\php-cgi.exe

至此,FastCGI配置完成,下面我们来测试下是否配置正确,将iProber探针程序复制到web目录



在浏览器输入:http://127.0.0.1/i/iProber.php ,输出如下图:



我们看到以下信息


PHP运行方式 CGI-FCGI
PHP版本 5.3.2

说明IIS+PHP的FastCGI方式配置成功!

注意,如果出现以下错误信息

============================

Error Details:
Error Number: 14001 (0x800736b1).
Error Description: 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。
HTTP Error 500 - Server Error.
Internet Information Services (IIS)

============================

则是没有安装VC9运行库即VISUAL C++ 2008,
Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn
http://download.microsoft.com/download/7/5/0/7502f4e9-1f90-4895-9259-1bde67b8b9a1/vcredist_x86.exe
 http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn
http://download.microsoft.com/download/7/5/0/7502f4e9-1f90-4895-9259-1bde67b8b9a1/vcredist_x86.exe

第三步:在IIS上启用Gzip压缩
关于Gzip的作用,这里就不再讨论了,大家可以查查资料
1、 启用GZip第一步:右击“网站”,然后单击“属性”,单击“服务”选项卡,选中红框内的两项,然后单击“确定”。




2、 右击IIS下面的Web服务扩展节点,再单击“添加一个新的Web服务扩展”,如下图




添加扩展名为“HTTP Compression”的扩展,注意gzip.dll所在的目录为:C:\windows\system32\inetsrv\gzip.dll




在IIS的Web服务扩展里,选中HTTP Compression,然后在左侧单击允许。




3、设置Gzip参数
设置Gzip需要手工修改C:\windows\system32\inetsrv目录下的MetaBase.xml文件,MetaBase.xml对于IIS的运行非常重要,若被破坏轻则IIS不能正常运行,重则可导致重装系统,所以修改这个文件之前一定要做好备份,下图中名为MetaBase_backup.xml的文件就是一个备份。




下面设置deflate及gzip的具体参数:
设置deflate的压缩参数,其中主要包括文件扩展名,脚本文件扩展名,压缩比例,需要说明的是,这里压缩比例推荐设置为1,我们稍候讨论哪个压缩比最合适。




设置gzip的压缩参数,其中主要包括文件扩展名,脚本文件扩展名,压缩比例,需要说明的是,这里压缩比例仍然推荐设置为1。




配置完成后,启动IIS,使设置生效




4、如果不想停止IIS而直接编辑MetaBase.xml文件,则按下图设置:
在若编辑MetaBase.xml里不想停止IIS,则在IIS节点上,注意是IIS,不是网站,在IIS上右击,单击“属性”




选中“允许直接编辑配置数据库”这一项,可不停止IIS编辑MetaBase.xml文件




5、检测Gzip压缩是否启用
如果大家的网站发布在Internet上,可以使用许多在线检测工具,很多站长网站上都有提供,如何网站是在自己的电脑上试验,要检测Gzip启用情况,需要一些能够抓取HTTP头信息的软件,这里推荐使用HttpAnalyzer V4,下载这个软件后,则可清晰的看到Gzip的作用。
我们先关闭Gzip,看年没有启用Gzip压缩时的HTTP头信息截图:




可以看到,上图中的 Compression Saving显示为0,我们启用Gzip压缩,再来看一下HTTP头信息情况:




上图中可以看到,Content-Encoding显示为gzip,右侧Compression Saving即压缩率显示为73.29%,说明压缩还是很有效的。
用这个软件大家也可以测试一下自己网站的压缩率。
6、有关压缩率的设定
根据官方的测试数据,200KB 的网页依据不同 gzip 等级的压缩比例为
Gzip level 1  0.593
Gzip level 6 (预设)  0.586
Gzip level 9  0.585

由此可知,大于 1 以后的压缩效益是很低的,可官方说法,这会消耗服务器资源,因此他们强烈建议设定成 1,gzip 预设是 6。
用某论坛的实际测试结果如下:
level 9 : 88.7% 压缩比
level 1 : 86.7% 压缩比

用我自己的网站测试数据如下
Level1时的压缩比为62.93%,在Level9时的压缩比为64.30%,可以看到Level1和Level9基本相差不大。


 
     
所以我是建议用 1 就好,用 9 对服务器负载会重,人少没感觉,人一多就会服务器负载就重多了,而且设成 1 和 9 压缩比其实差不了多少。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值