【网站】IIS配置/搭建PHP环境的网站教程

原文:https://www.fujieace.com/php/iis.html

今天一位群友想新搞一个万能门店小程序网站,由于他的服务器上面已经存在了很多的老站,用的IIS6.0服务,现在这个网站需要用到PHP,因此找到了,由于已经N年没有用过IIS搭建PHP网站了,顺便也来做一个笔记。

 

一、PHP环境

 

第一步:下载PHP

官方下载地址:https://windows.php.net/downloads/releases/archives/

需要哪个版本请自己去找吧!

 

注意:

IIS:如果将PHP用作带有IIS的FastCGI,则应使用PHP的非线程安全(NTS)版本。

 

第二步:解压PHP

解压缩php到某个目录,例如:D:\php

 

第三步:PHP配置修改

php目录里面有两个php.ini,一个是php.ini-dist,比较适合开发用;一个是php.ini-recommended,比较适合配置运行环境用,因为这个安全性稍高一些。

所以我们复制 php.ini-recommended 到 C:\WINDOWS下,并改名为php.ini,然后,用记事本打开它。

1、搜索 "extension_dir" 找到 extensino_dir="./" 将改为 extension_dir ="D:\php\ext"

2、搜索 ;extension=php_mysql.dll 去掉前面的分号 ";"

3、将 D:\php\php5ts.dll 复制到 C:\windows\system32 目录下

将 D:\php \libmysqls.dll 复制到 C:\windows\system32 目录下

 

注意:

不同版本的PHP,可能全称有一些不一样,例如:php5.dll、php5isapi.dll、php5apache2.dll。高版本的PHP一般都是php5.dll。

 

二、IIS服务

 

第一步:添加“PHP”Web 服务扩展

依次打开:

控制面版 - 管理工具 - Internet信息服务(IIS)管理器 - Web 服务扩展 - 添加一个新的 Web 服务扩展 -

IIS添加一个新的 Web 服务扩展

扩展名为“php”--> 再点击“添加”--> 在出现的窗口里填上“D:\PHP\php5isapi.dll” 并确定,然后,再打勾“设置扩展状态为允许”。

 

第二步:添加/编辑 应用程序扩展名映射

1、选择网站 - 右键 - 属性 ;

 

2、弹出的窗口,依次选择:“主目录 - 配置”。

 

3、在弹出来的”映射“窗口,点击“添加”按钮。

4、在弹出的“添加/编辑应用程序扩展名映射”对话框中的“可执行文件”文本框中输入“D:\PHP\php5isapi.dll”;

扩展名”文本框中输入“.php”(注意一定要有那个点) ;

并勾选“确认文件是否存在”项;

 

5、在“选中的Web站点 - 右键 - 属性”窗口上点“ISAPI筛选器”标签,点击“添加”按钮。

6、在弹出的“添加/编辑筛选器属性”窗口的“筛选器名称”中输入“php”;

“可执行文件”中浏览选定“D:\PHP\sapi\php5isapi.dll”;

7、重启IIS6.0

如何重启IIS也非常的简单,我们可以直接通过:

“控制面板”->“管理工具”->“服务”,找到“IIS Admin Service” 右键点击“重新启动。

 

 

第三步:如何证明 PHP+IIS 环境配置成功?
在“选定的Web站点 - 右键 -属性”窗口上点“ISAPI筛选器”标签,如果看到 php 的箭头绿色且向上,证明 php 已经被 IIS 6.0 顺利加载起来了。
这里需要说明一下,如果是红色箭头向下,说明没有加载成功,这是由于权限造成的,给php目录的user用户加上“运行”权限即可!

 

 

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

IIS服务器返回Bad Request (Invalid Hostname)解决办法

http://www.javacui.com/service/255.html

通过网址打开相应的网站,服务器返回 Bad Request (Invalid Hostname) 错误。

原因是因为该域名和端口没有与服务器的网站建立关联,就是通过所说的域名没有绑定。

 

在设置网站标识时,通常将服务器IP设置为:(全部未分配) ,这时即可保证解析到服务器绑定的任何IP都可以访问到WEB服务。这合适在多网卡服务器时配置,一般都是一个IP,或者即使是多网卡,也需要指定到确切的IP,方便管理和后期维护。

主机头值了,这个可以是正式的域名、IP或者其它符合域名标准的字符串组合等,像默认的主机名可以是localhost(其实指定到的IP就是本地IP,这个也是可以通过系统配置文件修改的)。该值可以设置为空,此时所指向到该主机头对应的服务器IP的域名通过服务端口连接服务器时将打开该站点。

同一服务器使用同一端口的网站中,只有一个网站可以是空主机头,默认未绑定的域名都将指向到该网站。如果WEB服务器上的各个网站都没有空主机头设置,那么通过只解析到此服务器的域名访问时,将返回Bad Request (Invalid Hostname)错误。

 

另外发生此类问题,也可能是邦定了一级域名,而没有注意www这个二级域名。相关内容:

让用户通过二级域名访问自己的网站(http://javacui.com/zhanzhang/252.html )

不要放弃一级域名(http://javacui.com/zhanzhang/219.html )

所以在主机头配置时要配置两个,如下图:

QQ截图20141215204015.jpg

 

QQ截图20141215204041.jpg

 

IIS>网站>>属性>>网站>>IP地址:(全部未分配)>>高级。

posted on 2022-10-04 01:24  bdy  阅读(891)  评论(0编辑  收藏  举报

导航