公司需要重写网站,一开始是ASP,改写成了PHP,所以就需要在IIS里面布置PHP环境
1、下载PHP和mysql安装包
2、对于PHP的版本,我个人推荐安装5.4的。IIS不支持5.5以上版本,5.4一下的版本又太低了,我安装过5.2版本的,ThinkPHP框架运行不起来。
3、下载fcgisetup安装包:https://pan.baidu.com/s/1UnyENxbyho1h7JzkVickNQ 密码:jnsu
4、安装fcgisetup之后IIS管理器里面的Web服务扩展里面会多出一个FastCGI Handler
5、将PHP目录下的php5ts.dll复制到C:\Windows\System32
6、将PHP目录下的php.ini-production复制到C:\Windows然后改名为php.ini
7、将php.ini里面的extension_dir ="./"改名为D:\phpstudynew\PHPTutorial\php\php-5.4.45\ext(具体的按照自己的目录地址),并将前面的分号去掉,使其生效。
8、在PHP安装目录下新建文件夹upload_tmp_dir,将php.ini里面的;upload_tmp_dir = 改为upload_tmp_dir = “D:\phpstudynew\PHPTutorial\php\php-5.4.45\upload_tmp_dir”
9、;fastcgi.impersonate = 1删掉前面的分号
;short_open_tag = Off改为short_open_tag = On
;extension=php_curl.dll删掉前面的分号
;extension=php_gd2.dll删掉前面的分号
;extension=php_ldap.dll删掉前面的分号
;extension=php_mbstring.dll删掉前面的分号
;extension=php_exif.dll删掉前面的分号
;extension=php_mysql.dll删掉前面的分号
;extension=php_mysqli.dll删掉前面的分号
;extension=php_sockets.dll删掉前面的分号
;extension=php_xmlrpc.dll删掉前面的分号
;date.timezone =改为date.timezone = Asia/Shanghai
10、打开C:\WINDOWS\system32\inetsrv\fcgiext.ini在最底部添加
[Types]
php=PHP
[PHP]
ExePath=D:\phpstudynew\PHPTutorial\php\php-5.4.45\php-cgi.exe
11、IIS管理器---网站---右键---属性---主目录---配置---添加---浏览---C:\WINDOWS\system32\inetsrv\fcgiext.dll---扩展名.php---限制为GET,HEAD,POST,DEBUG---保存
12、新建php文件 在里面写phpinfo();运行 看一下环境配置好没有
13、安装mysql就是一直下一步 然后在服务里面开启mysql 最后使用Navicat登录localhost试试
14、以前这个项目一直是在Apache下面运行的 要想在IIS下面运行 还需要下载一个软件ISAPI Rewrite
15、安装之后找到根目录下面的http.conf 输入以下内容
RegistrationName= coldstar
RegistrationCode= 2EAD-35GH-66NN-ZYBA
16、在你安装ISAPI Rewrite的目录下打开Helicon Manager 点击左侧的网站 右边会对应.htaccess里面的内容
17、建议ThinkPHP5的重写规则如下
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
18、重启IIS