因为日常工作在windows下,为方便在window是下进行PHP开发,需要在windows平台下搭建PHP开发环境,web服务器选择nginx,不过windows版本的nginx性能要比Linux/Uninx版本的Nginx差太多。

1、安装PHP

  PHP安装文件下载:http://windows.php.net/download/ (下载线程安全版本)

     下载所需的PHP版本,解压至任一目录下,如C:\php,把压缩包中的 php.ini-xxx,更名为 php.ini,然后打开修改几个选项(根据需要对PHP进行具体配置):



error_reporting = E_ALL
display_errors = On
extension_dir = "C:\php\ext"

; 动态扩展,可以根据需要去掉extension前面的注释 ; 
; 如加载PDO, MySQL
extension=php_pdo.dll
extension=php_pdo_mysql.dll

; CGI设置
cgi.force_redirect = 1
cgi.fix_pathinfo = 1
cgi.rfc2616_headers = 1



 

2、安装nginx

     下载Windows版本的Nginx(官网下载地址:http://nginx.net)下载好以后,解压释放文件到任一目录下,如D:\nginx。

 

3、配置PHP FastCGI
Nginx需要和FastCGI配合才能处理请求,有两种方式运行PHP FastCGI,一种就是使用PHP内置的FastCGI管理器:

命令行下面执行:c:/php/php-cgi.exe -b 127.0.0.1:9000 -c c:/php/php.ini 启动PHP FastCGI

 

4、配置nginx

    nginx.conf配置示例(注意相应的目录要存在):



worker_processes  1;
events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    #日志配置-可以去掉下面这三行
    log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '  '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for';           
    access_log D:/nginx-1.6.2/logs/access.log  access;
    error_log  D:/nginx-1.6.2/logs/error.log  debug;

    keepalive_timeout  65;

    server {
        listen   80;#nginx监听端口设置为80
        server_name  localhost;
        charset utf-8;#默认文件编码

        location / {                
            root   D:/nginx-1.6.2/html;#这里改成你自己的虚拟目录,注意!Nginx1.3.7及以下版本不支持文件路径中间有空格也不支持中文!!!这个以上的版本不知道会不会支持,不过这个以下是不支持的……虽然Apache支持啊……
            index  index.html index.htm index.php;#注意这里添加了index.php,如果没有添加这个有可能报403错误,这个是win下的,linux或者其他系统是否会有此问题未知。
            autoindex on;#如果文件不存在,列出目录树结构
        }
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;#fastcgi监听的端口,与php的cgi启动时指定的要一致
            fastcgi_index  index.php;#默认首页
            fastcgi_param  SCRIPT_FILENAME D:/nginx-1.6.2/html$fastcgi_script_name;#启动路径,这里只需要将“D:/www”这部分改为你的安装路径就可以了
            include        fastcgi_params;
        }
    }
}



 

5、测试一下

   nginx的文档目录下新建index.php文件,文件内容:



<?php
phpinfo();
?>



启动PHP:D:/php-5.6.4/php-cgi.exe -b 127.0.0.1:9000 -c D:/php-5.6.4/php.ini

启动nginx:D:/nginx-1.6.2/nginx.exe

浏览器访问:http://127.0.0.1/   正常显示phpinfo页面表示环境ok

 

6、为方便环境的启动,编写如下批处理:

start_nginx.bat启动运行脚本:(RunHiddenConsole工具可隐藏dos命令窗口)



@echo off
echo Starting PHP FastCGI...
RunHiddenConsole D:/php-5.6.4/php-cgi.exe -b 127.0.0.1:9000 -c D:/php-5.6.4/php.ini
echo Starting nginx...
RunHiddenConsole D:/nginx-1.6.2/nginx.exe



stop_nginx.bat停止运行脚本:



@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit



 

注意:nginx默认是不支持PHP的thinkphp框架的,如需要nginx支持tp框架,需修改nginx的配置文件。

 


 windows平台下将php以module方式与Apache相结合

1、安装apache:参见Apache服务器安装配置()

2、配置apache,配置文件:D:\Apache24\conf\httpd.conf

配置根目录DocumentRoot:可以直接默认

win安装 questdb_操作系统

 

配置端口号:如果80没被占用也可以直接默认

Listen 808

ServerName localhost:808

 

添加如下两行:第一行指以module方式加载php(确保该dll文件存在),第二行是指明php的配置文件php.ini的位置

win安装 questdb_运维_02

 

添加如下几行:即添加可以执行php的文件类型

win安装 questdb_运维_03

 

添加index.php:把“index.php”设为默认索引文件,优先顺序就自己排

win安装 questdb_运维_04

 

完成以上配置后保存,重启apache服务器即可