iis更换php版本 IIS中安装PHP5.2与php5.4配置方法 - IIS - 服务器之家

服务器之家

专注于服务器技术!
当前位置:首页 > Web服务器 > IIS

iis更换php版本 IIS中安装PHP5.2与php5.4配置方法

发布时间:2017-04-24 来源:服务器之家

如果做了一段时间运维的朋友都是知道iis配置php时我们对于php版本有要求,如果是php5.2版本可使用ISAPI来操作,如果是php5.4就需要使用FastCGI来让iis支持php了,下面我来介绍一下。

IIS中安装PHP5.2配置

首先要下载PHP安装文件。

我们这里下载PHP 5.2 (5.2.14)版本,因为PHP 5.3 (5.3.3)已不支持ISAPI,需要另外安装FastCGI。

我们这里以ISAPI为例,所以下载PHP 5.2 (5.2.14)版本。

在下载时还分VC6 x86 Non Thread Safe 和 VC6 x86 Thread Safe,一个是非线程保护,一个是线程保护。由于我们用IIS的ISAPI,是多线程的,所以我们推荐使用VC6 x86 Thread Safe。

在下载的版本里,又有三个,呵呵,,有的人看到这里都晕了,怎么这么多啊。不知道选哪个了。ZIP是一个压缩文件,解压后,自己手动安装;Installer是msi文件,直接双击安装,这里就不多说这个了。我们来讲手动安装。

下面是整个过程

1.直接下载ZIP解压的D盘的PHP下。

2.找到php.ini-dist文件,复制到c:windows下,并改名为php.ini,同时复制 php5ts.dll和 libmysql.dll到 C:Windowssystem32 中。

3.用记事本打开刚改名的php.ini文件,找到extension_dir = "./",改成extension_dir = "D:phpext"。

4.在记事本中查找“;extension=php_mysql.dll”和“;extension=php_gd2.dll”,然后把前面的“;”去掉,即把 ;extension=php_mysql.dll 改为 extension=php_mysql.dll
把以下内容前面的;去掉
;extension=php_mbstring.dll
;extension=php_gd2.dll
;extension=php_dbase.dll
;extension=php_ldap.dll

5.找到 ;session.save_path = "/tmp" 将';'去掉.设置你保存session的目录。
如:session.save_path = "C:WindowsTemp";

6.找到 register_globals 将 Off 改为 On

7.找到 allow_url_include 将 Off 改为 On

8.保存 php.ini

下面就是IIS里的设计了。

1.先添加PHP扩展,如下图所示在IIS里的“WEB服务扩展”中,右边的空白的地方右击先第一个添加,扩展名是php,要求的文件 选择d:phpphp5isapi.dll,下面有个“设置扩展状态为允许”也选上。点确定

2.再在IIS里新建一个网站,然后在ISAPI筛选器里添加,筛选器名称填PHP,可执行文件选d:phpphp5isapi.dll,然后确定

3.最后在主目录下面。点配置,再插入。可执行文件选d:phpphp5isapi.dll,扩展名写 .php,其他不变,确定。

4.配置好了

IIS中安装PHP5.4配置


编辑C:WINDOWSsystem32inetsrvfcgiext.ini内容如下

[Types]
php=PHP

[PHP]
ExePath=D:phpphp-cgi.exe
InstanceMaxRequests=10000
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000

d:phpphp.ini主要修改点如下

output_buffering = On
disable_functions = system,passthru,shell_exec,exec,popen,proc_open
enable_dl = Off

upload_tmp_dir = "D:/tmp/uploadtemp/"
session.save_path = "d:/tmp/sessiondata/"
date.timezone = "Etc/GMT-8" ;表示的是 GMT+8
mbstring.language = Neutral ; Set default language to Neutral(UTF-8) (default)
mbstring.internal_encoding = UTF-8 ; Set internal encoding to UTF-8

cgi.force_redirect = 0
cgi.fix_pathinfo = 1
fastcgi.impersonate = 1

op加速器, zend优化器参考配置, 在正式使用时不要开启xdebug。注意将路径修改为正确的。

[eaccelerator]
;zend_extension="/APM/ext/eAccelerator_v0_9_6_for_v5_2_13-VC6/eAccelerator.dll"
;zend_extension="/APM/ext/eAccelerator_v1_0_svn412_for_v5_2_13-VC6/eAccelerator.dll"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
;eaccelerator.log_file="/var/log/httpd/eaccelerator_log"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="300"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
press="1"
press_level="9"

[Zend]
zend_optimizer.optimization_level=15
zend_optimizer.encoder_loader=0
;zend_extension_ts="/APM/ext/ZendOptimizer-3.3.0/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.dll"
;zend_extension="/APM/ext/ZendOptimizer_nts.dll"
;zend_extension="/APM/ext/ZendOptimizerPlus.dll"

; 下面是使用ZendExtensionManager.dll的参考配置
;zend_extension_manager.optimizer_ts="/APM/Zend/ZendOptimizer-3.3.0/lib/Optimizer-3.3.0"
;zend_extension_ts="/APM/Zend/ZendOptimizer-3.3.0/lib/ZendExtensionManager.dll"
;zend_extension_manager.debug_server_ts="/APM/Zend/ZendOptimizer-3.3.0/lib/ZendDebugger-5.2.13-cygwin_nt-i386"
;zend_debugger.expose_remotely=always
;zend_debugger.allow_hosts=127.0.0.1/32
;zend_debugger.allow_tunnel=127.0.0.1/32
[ZendDebugger]
; 放到后边可以和zend_optimizer同时加载
;zend_extension_ts="/APM/ext/ZendDebugger-5.2.15RC1-cygwin_nt-i386/php-5.2.x/ZendDebugger.dll"

[xcache-common]
;zend_extension="D:/APM/ext/XCache-1.3.0-php-5.2.10-nts-Win32-VC6-x86/php_xcache.dll"
; extension = php_xcache.dll

[xcache.admin]
xcache.admin.enable_auth = Off
xcache.admin.user = "mOo"
; xcache.admin.pass = md5($您的密码)
xcache.admin.pass = ""

[xcache]
; 这里的多数选项仅在 ini 里可以修改, 这里列出的都是默认值, 除非另外说明
; select low level shm/allocator scheme implemenation
xcache.shm_scheme = "mmap"
; 禁用: xcache.size=0
; 启用: xcache.size=64M 之类 (任意>0的值) 同时请注意您的系统 mmap 上限
xcache.size = 0
; 建议设置为 cpu 数 (cat /proc/cpuinfo |grep -c processor)
xcache.count = 1
; 只是个参考值, 您可以放心地存储多于此数量的项目(php脚本/变量)
xcache.slots = 8K
; 缓存项目的 ttl, 0=永久
xcache.ttl = 0
; 扫描过期项目的时间间隔, 0=不扫描, 其他值以秒为单位
xcache.gc_interval = 60

; 同上, 只是针对变量缓存设置
xcache.var_size = 1M
xcache.var_count = 1
xcache.var_slots = 8K
; 默认, 允许 ini_set()
xcache.var_ttl = 0
; 最大ttl值
xcache.var_maxttl = 0
xcache.var_gc_interval = 300

; 仅测试用
xcache.test = Off
; /dev/zero 时无效
xcache.readonly_protection = Off
; 对于 *nix 系统, xcache.mmap_path 是文件路径而不是目录, (可以不存在 但是必须能创建).
; 如果您期望启用 ReadonlyProtection, 可以使用类似 "/tmp/xcache"
; 2 个 php 组不会共享同一个 /tmp/xcache
; 对于 Win32 系统, xcache.mmap_path=匿名MAP名字, 不是文件路径. 建议使用 XCache 字眼避免跟其他软件冲突
xcache.mmap_path = "XCache"

; 仅用于 *nix 系统
; 设置为空(禁用) 或者类似 "/tmp/phpcore/"
; 注意该目录应该能被 php 写入文件 (跟 open_basedir 无关)
xcache.coredump_directory = ""

xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off

[xcache.coverager]

; 如果 xcache.coveragedump_directory 设置为空则本设置自动为 Off
xcache.coverager = Off

; 请确保本目录能被 coverage viewer 脚本读取 (注意 open_basedir)
; 依赖于 xcache.coverager=On
xcache.coveragedump_directory = ""

[Xdebug]
xdebug.var_display_max_depth = 10
;xdebug.remote_autostart = 1
;xdebug.remote_enable=1
;xdebug.remote_handler=dbgp
;xdebug.remote_host=127.0.0.1
;xdebug.remote_mode=req
;xdebug.idekey=default
;xdebug.remote_log="/xdebug.log"
;xdebug.remote_port=9000
xdebug.auto_trace=off
;xdebug.collect_params=on
;xdebug.collect_return=on
xdebug.trace_output_dir="/tmp/xdebug"
xdebug.profiler_enable=off
xdebug.profiler_output_dir="/tmp/xdebug"
;zend_extension_ts="/APM/ext/xdebug/php_xdebug-2.0.5-5.2.dll"
;zend_extension="/APM/ext/xdebug/php_xdebug-2.0.5-5.2-nts.dll"
zend_extension="/APM/ext/xdebug/php_xdebug-2.1.0beta3-5.2-vc6-nts.dll"

下面是备用方案, 配置PHP环境

ISAPI方式
下载php解压到d:php设置权限administrators和system完全,every读取运行。
添加环境变量PHPRC=D:PHP设置加载php.ini文件路径