作者:上犹日期:
返回目录:win7问题
内容导航:
一、TODO:当PHP遇上IIS
TODO:当PHP遇上IIS
IIS调用PHP是使用CGI的功能,所以IIS一定要开启CGI的功能。默认为将 PHP 编译为 C CGI 程序。这将建立一个命令行解释器,可用于 CGI 处理或非 web 相关的 PHP 脚本。
开启“MIME类型”配置
安装“PHP Manager”,目前PHP Manager只支持IIS7,在Windows 8之后系统默认的IIS版本都是大于7的版本;那么要安装就得做特殊处理,修改注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW3SVCParameters的MajorVersion 是DWORD值,它的值十进制是10,把它改成9;安装好PHP Manager,在把值改回来。小O在windows10下安装成功了。
为了安全起见,建议把“目录浏览”的功能关闭
设置“默认文档”,可以添加常见的index后缀,如php,html,htm等
PHP Manager主要用来配置PHP的版本,PHP的扩展功能,简单便捷
如果你有这样的业务环境,希望对你有所启发吧。本文只是小O的一次记录。小O是非常不喜欢PHP生产环境使用IIS。
二、PHP项目部署,懂PHP+IIS7.0的进
参考这篇文章配置:三、安装PHPstudy与iis建立的网站冲突吗?
这个是因为端口冲突了,iis和phpstudy默认端口都是80,你修改其中一个端口就可以了,例如改成8080,在打开本地网站时,就要用localhost:8080,后面要加上端口号,这样就可以了四、如何在IIS部署PHP程序
首先你要有Windows2003和IIS6.0(6.0以下就免谈了)。然后要安装的东东依次为:PHP5.2,MySQL5.0,PHPMyAdmin2.11
这些东西一个个去找实在是太麻烦了,幸好我们有WAMP。
只要学会了安装WAMP,那么就只剩下“配置”了。
下面所有牵涉到的文件路径都以WAMP为准,php在WAMP中的目录为wamp\bin\php\php5.2.5。
要让IIS能够解析PHP,首先要把php.ini复制到C:\Windows目录下,把php5isapi.dll复制到C:\Windows\system32下。
然后从Windows2003的管理工具中进入IIS,新添加一个Web服务扩展,扩展名可以任意填写,比如说“PHP服务扩展”,要求的文件则是php5isapi.dll,勾上“设置扩展状态为允许”。
然后新建一个网站,假设已经有了一个网站,右键“属性”,为网站创建一个“应用程序池”,执行权限为“脚本和可执行程序”,点击“配置”,添加一个
“应用程序扩展”,在新弹出的窗口中,可执行文件选择刚才的php5isapi.dll(最好是C:\Windows\system32下的),”扩展
名”为.php,动作限制为“GET,HEAD,POST,TRACE”,勾去“确认文件是否存在”
OK,这样PHP就基本上配置好了,可以去网站根目录下创建一个index.php,写入“phpinfo();?”,然后打开浏览器测试一下就可以了。
首先你必须修改php.ini,找到extension_dir这个参数,假设wamp安装在D盘,改成 extension_dir
= “D:\wamp\bin\php\php5.2.5\ext\”,然后找到extension=php_mysql.dll和
extension=php_mysqli.dll,确保他们之前的逗号已经去掉。
接下就是关键了,在wamp\bin\php\php5.2.5目录下有一个关键的文件libmysql.dll,昨天困扰了许久,才想起以前配置
MySQL的惨痛经历(都是wamp惹的祸,把php/mysql的安装搞的太简单了),这个文件一定要复制到C:\Windows\system32目
录下去,否则就算在php.ini里面打开extension=php_mysql.dll也没有用,当浏览需要连接MySQL的页面时,会报错说
“mysql”类型不存在。
我们就遇到了这样一个实际问题:54上已经在运行asp以及asp.net的网站,IIS抢占了80端口,apache就不能使用了,这样难道你要别人在
单,在wamp中找到httpd.conf文件,将其中所有“80”字样替换成你想要的端口,重启apache就可以了。apache里面一共有4个地方
需要修改80:
Listen 80,ServerName localhost:80,NameVirtualHost
*:80,前2个是默认的,后2个是配置了virtualhost才会出现。