So Tired !_! 逆水行舟, 不进则退!

20Sep/14

在windows server 2003 IIS6下安装PHP 5.3x的心得

Posted by Nick Xu

本来不打算写这份心得的,这几天为了安装wordpress,得升级一下PHP的版本,于是乎去下了个PHP5.3.8,之前不知道5.3x跟5.2x有那么大的差距,按照老方法安装了一遍,木有作用。到网上找了很多传说中的高手写的文章,前前后后重装了10几次才折腾成功!废话就不说了,来点实际的。
我只说IIS 6 + PHP5.3 ,Apache那玩意还木有研究过。

1.下载一个FastCgi For IIS6 ,到这里去下载,http://www.iis.net/expand/fastcgi
反正我下载到的文件是这样的,应该都差不多,如下图

下载完毕之后就安装,安装成功后会在C:\WINDOWS\system32\inetsrv\目录下搞出了5个文件,如下图

这个时候在IIS 6的“WEB服务扩展”里就多出了一个FastCGI Handler

2.去下载一个php-5.3.8-nts-Win32-VC9-x86.zip(不好意思,这个我忘记是在哪里下载了),然后解压到D:\PHP目录(可以解压到任意目录,这里就按照我自己的习惯来讲吧),并给IIS启动帐户或用户赋予读取和运行权限。
接着将D:\PHP目录下的所有.dll复制到C:\WINDOWS\system32下,如果有提示覆盖的,就全部覆盖吧。注:网上很多人的文章里都没写这一点,不知道是他们太高估了我的智商还是他们给忘记了,这点蛮重要。
到命令行可以输入COPY D:\PHP\*.dll C:\WINDOWS\system32\  ,省得找的麻烦。

3.注册PHP 到 FastCGI
打开 C:\WINDOWS\system32\inetsrv\fcgiext.ini文件
在[Types]下面添加以下配置(网上大部分人都说了行号,让你到哪一行附近去找,这是个误区,直接到这个文件的末尾就是,前面是没有分号的)
[Types]
php=PHP
[PHP]
ExePath=D:\PHP\php-cgi.exe
如下图所示

接下来就是修改php.ini配置文件了,D:\PHP目录下是找不到这个文件的,可以把php.ini-development复制一份,然后重命名为php.ini
打开php.ini后Ctrl+F查找
extension_dir = "./" , 把这个修改成extension_dir = "D:/PHP"
在D:下建立文件夹,并命名为tmp
查找;upload_tmp_dir =
将;upload_tmp_dir = 最前面的";"去掉
upload_tmp_dir是用来定义上传文件存放的临时路径,这里可以修改并给它定义一个绝对路径,同时需要有读、写权限。
这里我的设置为upload_tmp_dir = "D:/tmp"  (这就是我前面建立的文件夹)
找到 ;fastcgi.impersonate = 1 ,记得把前面的";"去掉
找到 ;short_open_tag = Off ,把前面的";"去掉,并把"Off"改成"On"

搜索Windows Extensions,将以下这些常用扩展前面的分号去掉

; extension=php_curl.dll
; extension=php_gd2.dll
; extension=php_ldap.dll
; extension=php_mbstring.dll
; extension=php_exif.dll
; extension=php_mysql.dll
; extension=php_mysqli.dll
; extension=php_sockets.dll
; extension=php_xmlrpc.dll

继续!

搜索;date.timezone =
去掉前面的分号,将其设置为 date.timezone = Asia/Shanghai
传说还可以设置为PRC,这个我没试过,大家有兴趣,爱折腾的可以去试一下。
如果不修改date.timezone,打开网页的时候蛮有可能提示500错误
---------------------------------------------------------------------
需要说明一下的是把D:\PHP下的php.ini文件copy到C:\WINDOWS下,然后再把D:\PHP下的php.ini删除掉(我没删除,而是改了个后缀收藏起来了)

4.配置网站
打开IIS 6管理器,在"网站"上点右键-->属性-->主目录-->配置-->添加,,操作方式就不详写了,继续上图

可执行文件路径是: C:\WINDOWS\system32\inetsrv\fcgiext.dll
运行D:\PHP\php-cgi.exe,如果能进入命令窗口并且只有光标,说明FastCGI能正常调用php-cgi,否则会提示错误,如图

OK,基本上就这些了,把IIS重启一下,命令行输入IISRESET,传说这个步骤很重要!!!
这时候可以找个php文件测试一下,常用的最简单的方式就是

<?php
    phpinfo();
>

看到类似以下效果就说明成功了

25May/10

(转)IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置教程(一)

Posted by Nick Xu

一、下载相关软件

安装前需要准备的软件(因为我这里用的服务器操作系统是x86版本的,所以以下程序均为在Windows x86环境下使用的版本)无特殊说明均为截止到2009年1月16日的最新 版

1、 PHP 推荐PHP 5.2.8的ZIP压缩包版本
PHP 5.2.8 zip package [10,115Kb] - 08 December 2008
MD5:71511834881753ea0906f2bca91632b9
官方下载页面:http://www.php.net/downloads.php
http://cn2.php.net/get/php-5.2.8-Win32.zip/from/a/mirror
直接下载地址:http://cn2.php.net/distributions/php-5.2.8-Win32.zip
2、 MySQL 推荐MySQL 5.0.67 的Windows ZIP/Setup.EXE (x86)版本
MD5:ed76e5ad8b251ca643766c70926854d7
官方下载页面:http://dev.mysql.com/downloads/mysql/5.0.html#win32
http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.67-win32.zip/from/pick
直接下载地址:http://mysql.cs.pu.edu.tw/Downloads/MySQL-5.0/mysql-5.0.67-win32.zip
3、 Zend Optimizer 推荐 最新版,现在的最新版是Zend Optimizer v3.3
(虽然下载是免费的,但是要注册用户,才可以下载,为了方便大家的使用,公开我注册好的用户名:ideacmblog密 码:ideacm.com.cn,方便大家使用,希望大家在使用这个帐号的时候不要修改密码和用于其它非正当途径)
MD5:f1766065288d509d5286c4c3c7239412
官方下载页面:http://www.zend.com/en/products/guard/downloads
直接下载地址:http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-Windows-i386.exe
4、phpMyAdmin 在这里不推荐使用最新版,推荐 phpMyAdmin 2.11.9.4 的 phpMyAdmin-2.11.9.4-all-languages.zip版本
MD5:84a4399fdac85f4fbeb0ff68a5a89edd
官方下载页面:http://www.phpmyadmin.net/home_page/downloads.php
直接下载地址:http://nchc.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.11.9.4-all-languages.zip

二、安装配置前的准备工作

2.1、 先把下载回来的文件使用杀毒软件进行一次病毒扫描,以防意外。【图一所示】

【图一】

2.2、 好了,现在开始环境配置:
假设操作系统安装在C盘,如果你的系统不是安装在C盘,请将下面提到的盘符自己对应修改。同时,为了避免C盘因为重装系统等各种原因对C盘进行操作,不建议将PHP相关软件安装在C盘中,这里我把PHP相关程序安装在D:PHP目录下(这个目录你也 可以自己定义,如果你要安装在与此不同路径,请自行修改一下所提到的对应路径)。

三、正式开始环境配置

第一步、安装PHP

3.1.1、 将下载得到的php-5.2.8-Win32.zip文件解压至D:PHP目录中,将得到的二级目录php-5.2.8-Win32改 名为php5;也可以将php-5.2.8-Win32.zip解 压在默认位置,然后将解压后的文件和文件夹复制到D:PHPphp5【图二所示】

【图二】

3.1.2、再将D:PHPphp5目录下的所有dll文件复制到C:windowssystem32下 (Windows2000系统为C:winntsystem32,下同),如果已经有若干同名文件存在,覆盖即可。【图三、四所示】

【图三】


【图四】

3.1.3、将D:PHPphp5目录下的php.ini-dist复 制一份,更名为php.ini(还是在当前目录中)【图五所示】,再用文本编辑软件打开这个php.ini(建 议使用Notepad2、EditPlus、UltraEdit等各种支持语法高亮显示的文本编辑软件)。

【图五】

3.1.4、 查找:register_globals = Off (约第419行)
Off更改为 On,即得到register_globals = _disibledevent="#0000ff">extension_dir = "./" (约第491行)
将其路径知道你的PHP目录下的扩展功能目录中,这里PHP5对应修改为extension_dir = "D:/PHP/php5/ext"
再在D:PHP下建立文件夹,并命名为tmp
查找 ;upload_tmp_dir =
;upload_tmp_dir =该行的注释符,即前面的分号”;”去掉,使该行在php.ini文档中起 作用。
upload_tmp_dir是 用来定义上传文件存放的临时路径,在这里你还可以修改并给其定义一个决定路径,需要注意的是,这里设置的目录必须有读、写权限。
这里我设置为upload_tmp_dir = D:/PHP/tmp (这里就是我前面建立的文件夹)
3.1.5、 搜索 ; Windows Extensions,定位到php.ini文件的约604行,将下面列出的常用扩展前面的分号注 释符去掉:

; extension=php_curl.dll
; extension=php_dbase.dll
; extension=php_gd2.dll
; extension=php_ldap.dll
; extension=php_mbstring.dll
; extension=php_exif.dll

特别提示:Exif扩展是 用来显示图片的exif信息的,因该扩展需要mbstring支持,所以将extension=php_exif.dll这一行移动到 extension=php_mbstring.dll一行的下面。

; extension=php_mcrypt.dll
; extension=php_ming.dll
; extension=php_mysql.dll
; extension=php_sockets.dll
;extension=php_xmlrpc.dll
; extension=php_zip.dll

3.1.6、 查找:

;date.timezone =

去掉前面的分号注释符,这里将其设置为

date.timezone = PRC

关于时区设定的说明:
从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都 是格林威治标准时间,和我们的时间(北京时间)差了正好8个小时,有以下2种方法可以恢复正常的时间。
1、如果要用5.1以上版本,而且不修改php.ini,则需要在关于时间的初始化的语句的上面加上date_default_timezone_set (XXX),或者使用date('Y-m-d G:i:T', strtotime('+8HOUR') )来获取日期时间;
2、一劳永逸,仅限能修改php.ini。打开php.ini把date.timezone前面的分号去掉,在=后面加XXX,重启http服务(如 apache2或iis等)即可。
关于XXX,大陆内地可用的值是:Asia/Chongqing、Asia/Shanghai、Asia/Urumqi(依次为重庆,上海,乌鲁木齐), 港台地区可用:Asia/Macao、Asia/Hong_Kong、Asia/Taipei(依次为澳门,香港,台北),还有新加坡:Asia /Singapore,以上没有北京,不过接着往下看,其他可用的值是:Etc/GMT-8,Singapore ,Hongkong,PRC(中华人民共和国)。

3.1.7、 查找

:;session.save_path = "/tmp"

将前面的分号注释符去掉,这里将其设置为

session.save_path = "D:/PHP/tmp"

(这里就是我前面建立的文件夹)

3.1.8、 如果你有遇到无法上传较大文件或者运行某些程序经常超时,那么可以修改以下内容来调整相关限额:

在大约第

255

行,
max_execution_time = 30     ;

这个是每个脚本运行的最长时间,根据你的需求更改数值,单位秒
max_input_time = 60 ;

这是每个脚本可以消耗的时间,根据你的需求更改数值,单位也是秒

大约第

258

行,
memory_limit = 128M      ;

这个是脚本运行最大消耗的内存,根据你的需求更改数值。

大约第

552

行,
upload_max_filesize = 2M

上载文件的最大许可大小 ,根据你的需求更改数值,M是单位:兆。
3.1.9、 php.ini

文件中基本就是作如上修改,其他的你可以根据自己的具体需求修改,然后将该文件保存,再复制一份到

C:Windows

下面。

   
site
site