日期:2014-05-17 浏览次数:20597 次
首先,从 http://windows.php.net/download/ 下载最新的 PHP 5.3 Windows 版本,这里 PHP 以 FastCGI 模式运行,所以请下载 None Thead Safe 版本。
解压至 C:\php5,把压缩包中的 php.ini-recommended,更名为 php.ini,然后打开修改几个选项:
1 2 3 4 5 6 7 8 9 10 11 |
error_reporting = E_ALL display_errors = On extension_dir = "C:\php5\ext" ? ; 动态扩展,可以根据需要去掉 extension 前面的注释 ; ; 如加载 PDO, MySQL extension = php_pdo.dll extension = php_pdo_mysql.dll ? ; CGI 设置 cgi.fix_pathinfo = 1 |
?
PHP 加载扩展需要注意依赖性,比如 php_exif.dll 需要 php_mbstring.dll,你必须要把 php_mbstring.dll 放在 php_exif.dll 前面才能加载成功。有些扩展依赖额外的 dll 文件,如 PHP 5.0+ ,php_mysqli.dll 依赖 libmysql.dll,而 php_oci8.dll,你则需要安装 Oracle 8 的客户端。如果你对这些依赖性不是太了解,可以参考一下安装包中的 install.txt 文件。
依赖文件的搜索顺序:首先是 php.exe 所在的目录,如果是 ISAPI 模式,那么会搜索 Web Server 的启动位置,比如 Apache 的 bin 目录;其次是 Windows PATH 环境变量中的目录。这里不要 复制任何文件到 Windows 目录中,有必要的话,可以把 C:\php5 加到 PATH 中,便于以后 PHP 的升级。
从 v0.7.52 开始,Nginx 开始发布 Windows 版本的 Nginx,你可以在其官方网站上面下载:
http://nginx.net
如果需要老版本的 Nginx for Windows,可以在 Kevin Worthington 的网站上面找找。
我使用的是 0.8.29,下载好以后,解压释放文件到 C:\nginx。
那么如何配置 Nginx,使其可以和 PHP 协同工作?
Nginx 需要和 FastCGI Server 配合才能处理请求,有两种方式运行 PHP FastCGI Server,一种就是使用 PHP 内置的 FastCGI 管理器:
1 |
C:/ php5/ php-cgi.exe -b 127.0.0.1:9000 -c C:/ php5/ php.ini |
另外一种方式是使用第三方工具,比如 PHP-FPM 、cgi-fcgi 等。显然!要在 Windows 中使用这些工具是件极其痛苦的事情,你可能需要 Cygwin 之类的东西才行,的确有人这么做了 ,虽然我觉得那是自寻烦恼。
下一步,修改 Nginx ,将 php 请求转发至 PHP FastCGI Server:
1 2 3 4 5 6 |
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ ^(.+\.php)(.*)$ { root D:/public_html; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include php.conf; } |
root 也就是 $document_root 指的是你的 php scripts 根目录,设置为你的网站根目录。在 Windows 下,需要注意的是 root 的路径,最好使用 "/" 作为路径分隔符,而不是 Windows 默认的 "\",否则容易出问题,比如,这个路径:D:\public_html\test,就不会起作用,Nginx 会抛出 500 错误,原因是 \test 中 \t 被解析为制表符。当然再加上一个反斜杠转义也是可以的,如:D:\\public_html\\test。
php.conf 配置文件:
1 2 3 4 5 6 7 8 9 10 11 12
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
|