日期:2014-05-17  浏览次数:20437 次

一步一步学PHP(1): Windows下配置Nginx + PHP开发环境
1,下载并安装nginx
  • 1.1 下载地址:http://nginx.org/en/download.html
  •                   http://nginx.org/download/nginx-1.3.0.zip
  • 1.2 解压 nginx-1.3.0.zip 到G:\webserver
  • 1.3 到G:\webserver将nginx-1.3.0文件夹重命名为nginx

  • 2,启动nginx并测试nginx正常运行
  • 2.1 到G:\webserver\nginx执行nginx.exe,在任务管理器可看到nginx.exe进程存在
  • 2.2 在浏览器输入http://127.0.0.1,可看到"Welcome to nginx!"表示nginx正常运行

  • 3,了解PHP版本中VC9、VC6、Thread Safe、Non Thread Safe的区别
  • 3.1 VC9 版本和 VC6 版本的区别
  •        VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。

           VC9 版本是使用 Visual Studio 9(2008) 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。
  • 3.2 Thread Safe 和 Non Thread Safe 版本的区别
  •         先从字面意思上理解,Thread Safe 是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源。Non Thread Safe 是非线程安全,在执行时不进行线程(Thread)安全检查。

            再来看 PHP 的两种执行方式:ISAPI 和 FastCGI。

            ISAPI 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;

            而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI 来执行 PHP,建议选择 Non Thread Safe 版本。

    4,下载并安装php
  • 4.1 下载地址:http://windows.php.net/download
  •                   http://windows.php.net/downloads/releases/php-5.4.3-nts-Win32-VC9-x86.zip
  • 4.2 到G:\webserver目录下创建子文件夹php
  • 4.3 解压php-5.4.3-nts-Win32-VC9-x86.zip 到G:\webserver\php目录下

  • 5,创建源文件目录
  • 5.1 将nginx目录下的html目录拷贝到G:\webserver\目录下,并重命名为webroot

  • 6,配置并启动nginx
  • 6.1 修改G:\webserver\nginx\conf\nginx.conf,与未修改前的区别如下:
  • [root@localhost test]# diff nginx.conf nginx.conf.default 
    44,45c44,45
    <             root   G:/webserver/webroot;
    <             index  index.html index.htm index.php;
    ---
    >             root   html;
    >             index  index.html index.htm;
    65,70c65,71
    <         location ~ \.php$ {
    <             fastcgi_pass   127.0.0.1:9000;
    <             fastcgi_index  index.php;
    <             fastcgi_param  SCRIPT_FILENAME  G:/webserver/webroot$fastcgi_script_name;
    <             include        fastcgi_params;
    <         }
    ---
    >         #location ~ \.php$ {
    >         #    root           html;
    >         #    fastcgi_pass   127.0.0.1:9000;
    >         #    fastcgi_index  index.php;
    >         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    >         #    include        fastcgi_params;
    >         #}
    [root@localhost test]# 
    
  • 6.2 在命令行状态下,到G:\webserver\nginx目录下执行nginx.exe -t 测试配置文件是否正确
  • 6.3 在G:\webserver\nginx目录下执行nginx.exe启动nginx
  • 6.4 在命令行状态下,到G:\webserver\nginx目录下执行nginx.exe -s stop停止nginx,nginx.ex -s reload重新加载配置

  • 7,配置并启动php
  • 7.1 到G:\webserver\php目录下,为了保存原始配置文件,拷贝php.ini-development为php.ini.default
  • 7.2 将php.ini-development重命名为php.ini (这时有php.ini和php.ini.default两个相同的配置文件)
  • 7.3 打开php.ini,查找short_open_tag = Off 修改为 查找short_open_tag = On
  • 7.4 为了可以打开常用的扩展,并设置默认时区为重庆,在文件末尾加入如下内容:
  • extension_dir = "G:\webserver\php\ext"
    extension=php_curl.dll 
    extension=php_gd2.dll 
    extension=php_mbstring.dll 
    extension=php_mysql.dll 
    exten