PHP5.5以上版本不再支持2003系统了,WIN2003 下最高只能安装PHP5.4X的版本

环境: 2003 SP2企业版32位系统 , IIS6.0

(1) PHP 版本的选择

去http://windows.php.net/download/ 下载最新版本的PHP ,由于此处用的是IIS ,所以我们要选择FASTCGI模式。

FastCGI可以让PHP的进程重复利用而不是每一个新的请求就重开一个进程。同时FastCGI也可以允许几个进程同时执行。这样既解决了CGI进程模式消耗太大的问题,又利用上了CGI进程模式不存在线程安全问题的优势。因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。

PHP.NET 官方的PHP的WINDOWS 版本有好几个,那怎么选择呢?

1.支持的服务器不同

VC6 就是 legacy Visual Studio 6 compiler ,就是使用这个编译器编译的。
VC9 就是 the Visual Studio 2008 compiler ,就是用微软的 VS 2008 编辑器编译的。
VC11 就是 the Visual Studio 2012 compiler ,就是用微软的 VS 2012 编辑器编译的。

那我们如何选择下载哪个版本的 PHP 呢?
如果你是在 windows 下使用 Apache+PHP 的,php必须选用VC6的Thread safe版本;
如果你是在 windows 下使用 IIS+PHP 的,请选择 VC9 版本;
VC9版本是针对IIS服务器的版本,没有对APACHE的支持 。Apache配套的是VC6版本的PHP,对IIS和apache都提供了支持。

2.运行方式的不同
PHP有2中运行方式:ISAPI和FastCGI。
ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行
PHP,建议选择Thread Safe版本;
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本

对于apache服务器来说一般选择isapi方式(选择Thread Safe版本的PHP),而对于nginx服务器则选择FastCGI方式(选择Non Thread Safe版本的PHP)。

通过了解如上规则后, 我们选择的是IIS6.0 FASTCGI 非线程安全模式 ,只有非线程安全模式才支持PHP加载 ZEND GUARD LOADER 组件 。

我选择最新的PHP 5.5.13 VC11 x86 Non Thread Safe , 此版本发布时间2014-May-28 ,下载地址http://windows.php.net/downloads/releases/php-5.5.13-nts-Win32-VC11-x86.zip

安装此版本需要你的电脑有VC11 也就是visual studio 2012运行库,若没有的话,需要在网上下载visual studio 2012运行库安装在你的电脑上。
(2)由于是IIS6环境,需要一个FastCGI For IIS6 软件 ,FastCGI For IIS6是Microsoft开发的一种网关接口 , PHP从5.3.0以后的版本开始使用微软的fastcgi模式,跟传统的CGI模式相比,采用了更加
合理的解析进程启动模式。这是一个更先进的方式,运行速度更快,更稳定!目前,apache已经能直接采用FastCGI模式解析php脚本,然而,在IIS7中也加入FastCGI的支持。
百度搜索下“FastCGI For IIS6”就可以下载此组件,默认路径安装上就可以了 。

(3)具体配置
1 : 由于此选择的是VC11版本的PHP ,所以在操作之前必须要安装好Microsoft Visual C++ 2012 x86运行库 ,默认安装即可。
2 : 安装好“FastCGI For IIS6 软件”这个软件,默认路径安装好,注意选择X86版本的。
3 :PHP的配置,为重点
1 : 解压php-5.5.13-nts-Win32-VC11-x86.zip 到C:\php5.5.13

2: 重命名 C:\php5.5.13\php.ini-development 为C:\php5.5.13\php.ini

3: 打开php.ini文件需要修改的地方有

a: 扩展路径: 找到 ;extension_dir = "ext" 更改为extension_dir = "C:\php5.5.13\ext" 需要去掉前面的分号来启用此参数设置设置。

b:将;upload_tmp_dir = 改为upload_tmp_dir = "C:\WINDOWS\temp" 存放上传的临时文件

c: 找到session保存设置设置地方,修改成 session.save_path = "C:\WINDOWS\temp"

d : 需要开启的扩展
extension=php_curl.dll 用于支持SSL和zlib。
extension=php_gd2.dll 图片水印
extension =php_ldap.dll 推荐开启。
extension=php_mbstring.dll 支持phpmyadmin
extension=php_mcrypt.dll
extension=php_mysql.dll 支持mysql
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite3.dll
extension=php_zip.dll 推荐开启。

e : PHP中与FASTCGI有关的参数配置
fastcgi.impersonate = 1 必须开启 开启FASTCGI模拟功能
cgi.fix_pathinfo=1 去掉前面的分号,默认是1
cgi.force_redirect = 0

至此php.ini 配置文件修改完毕 ,保存后,复制一份此配置文件到到c:\Windows目录下 。

4: 注册PHP到FastCGI
找到 C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件
在此文件结尾处添加:
[Types]
php=PHP
[PHP]
ExePath=C:\php5.5.13\php-cgi.exe
InstanceMaxRequests=10000
ActivityTimeout=300
RequestTimeout=600
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:C:\php5.5.13\
fastcgi.dll本身不具备解析脚本的能力,他的作用是调度php的解析程序处理PHP。
5: 打开IIS管理器 网站——属性——主目录——配置——应用程序扩展——添加
一个扩展名.php的映射,映射文件为C:\WINDOWS\system32\inetsrv\fcgiext.dll 动作为全部动作,然后点击确定。
6: 重启IIS

至此,IIS6.0 上的PHP5.5.13 FASTCGI 配置完毕 ,我们可以写一个php探针测试下 ,是否正常 。

aa

测试提示 如上错误 , 此外我双击C:\php5.5.13\php-cgi.exe 提示不是有效的32位应用程序错误。

bb

经过查看资料,找到了原因:

 双击运行php-cgi.exe弹出对话框提示不是有效的win32应用程序。此为版本问题,PHP5.5版本 最低要运行于操作系统版本号最低要6.0 ,而WINDOWS 2003 系统版本为5.2 因此无法运行,故而提示此错误。WIN2003 下最高只能安装PHP5.4X的版本了。

为了验证是PHP版本的问题, 我又重新从PHP官方网站找了一个PHP版本,
PHP 5.4.29 VC9 x86 Non Thread Safe 下载地址为 http://windows.php.net/downloads/releases/php-5.4.29-Win32-VC9-x86.zip
按照上面的方法重新做一遍。
然后进行测试

cc

提示如上图所示的错误,造成此错误的原因是:timezone设置不正确所致。由于此版本的PHP的php.ini默认是没有设置date.timezone ,于是就会强行抛出了这个错误的。
解决办法:修改php.ini 查找date.timezone 去掉前面的分号修改成为:date.timezone = PRC
修改完毕,重新启动下IIS
然后测试,发现可以了。

dd

 

看到了吧 , 系统还是2003系统,只换了下PHP的版本, 就可以了 。  我做此操作,配置上都是一样的操作方法。  所以说 “ PHP5.5以上版本不再支持2003系统了,WIN2003 下最高只能安装PHP5.4X的版本 ” 这个说法是正确的。

 

 

 

相关新闻

联系我们

全国服务热线

400-033-9553

电子邮件:admin@example.com
工作时间:09:00-17:00 周一至周五

在线客服
关注微信
关注微信
分享本页
返回顶部