欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

史上最简! IIS下安装PHP

程序员文章站 2022-05-08 11:36:27
...

我之前参考了网上许多的iis下安装php的文章,都是拷php.ini和一堆的.dll,一个人有一个人的说法,乱七八糟,许多安装教程编写者自己都不知道拷这些东西,改这些配置究竟是干啥用的。我经过了一个上午的痛苦折磨和试验终于搞清楚了这里面的道道,现告诉大家一

我之前参考了网上许多的iis下安装php的文章,都是拷php.ini和一堆的.dll,一个人有一个人的说法,乱七八糟,许多安装教程编写者自己都不知道拷这些东西,改这些配置究竟是干啥用的。我经过了一个上午的痛苦折磨和试验终于搞清楚了这里面的道道,现告诉大家一个带解释的安装教程:

一般的教程都是以看见phpinfo()这个东西为结尾的,那么我告诉你,要看见这个东西,要能运行php其实很简单,核心的就是那步在iis中添加.php的过程。

最简安装过程:

1、先下载php5.2.5:
http://www.onlinedown.net/soft/1772.htm
解压至一个文件夹,然后改文件名简单点(自己方便,非必须步骤)比如我的是D:/php5.2.5

2、打开IIS,在“默认网站”右键“属性”->主目录->配置->添加
可执行文件:D:/php5.2.5/php5isapi.dll
扩展名:.php
确定

打开 IIS,Web服务扩展->添加一个新的服务扩展 扩展名 .php ,要求的文件选 D:/php5.2.5/php5isapi.dll , 设置扩展状态为允许 勾上

确定

3、给php5.2.5增加User用户组的访问权限

4、在环境变量中增加PHPRC = D:/php5.2.5

5、在D:/php5.2.5中将 php.ini-recommended 改名成 php.ini


在E:/php下新建a.php,内容是 echo phpinfo(); ?>

7、打开http://localhost/php/a.php,就看到了phpinfo的那些东西了!

虽然最简安装方式已经可以让你使用php的基本功能了,但是连接mysql等扩展还没有装上,所以我推荐的是标准的安装过程,以免以后出现什么问题您拿板砖砸我。

标准安装过程:

1、先下载php5.2.5:
http://www.onlinedown.net/soft/1772.htm
解压至一个文件夹,然后改文件名简单点(自己方便,非必须步骤)比如我的是E:/php5.2.5

2、复制php5.2.5文件夹下的 php.ini-dist 到 C:/WINDOWS下 并改名为 php.ini
并修改以下项:
extension_dir = "./" 为 extension_dir = "E:/php5.2.5/ext",这是php其他的函数库
extension=php_gd2.dll 前面的分号去掉,这个是GD函数库跟支持图片有关的
extension=php_mysql.dll 前面的分号去掉,这个是MYSQL函数库
PS:如果想采用cgi方式解析php文件(cgi方式下面有解释),则把 cgi.force_redirect = 1 前面分号去掉,并把1改成0
保存

3、复制php5ts.dll和libmysql.dll到C:/WINDOWS/system32下


在E:/php下新建a.php,内容是 echo phpinfo(); ?>

6、打开http://localhost/php/a.php,就看到了phpinfo的那些东西了!

可能遇到的问题:

1、在iis内添加.php的时候在可执行文件那栏输入路径后,点确定,提示“错误的可执行文件名”,那是因为你的路径中有空格,比如programme files中间就有空格,解决办法就是把全部的路径加上 " " 引号,如果你是用浏览方式得到的路径windows在判断了路径中有空格后会自动给你加引号的,我的做法则是把php放在一个没引号的路径里。

2、有的教程说是用php.exe有的教程说是php5isapi.dll,我解释一下:php.exe是用cgi方式处理.php文件,而php5isapi.dll是用ISAPI方式。cgi方式是比较流行的一种方式,历史悠久兼容性好,ISAPI方式是微软独创的,目前只能在IIS上使用,但执行的效率比cgi好一些,我这边采用的是ISAPI方式

3、采用cgi方式的人在浏览phpinfo的时候可能会出现以下情况:
Security Alert! The PHP CGI cannot be accessed directly.
This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive.
不用怕,这是因为现在PHP在IIS中是以Cgi方式运行的,而你的php配置文件中这一项又没有打开。如果你看到上面的一段警告,你需要打开你的php.ini文件,然后查找"cgi.force_redirect = 1"这样一句,把这一句前面的分号去掉,然后把1改成0就OK了。