Windows 8.1 下配置 Nginx + PHP 开发环境
前言
除了这篇文章介绍的方法,也可以使用一些工具软件一键搭建 PHP 开发与运行环境。
XAMPP,集成了 Apache + MariaDB + PHP + Perl。
官方网站:https://www.apachefriends.org/index.html
下载
一、下载Nginx
Nginx 官方下载地址为:http://nginx.org/en/download.html。
从中下载 Stable version (稳定版本)。本文中使用的版本为:nginx-1.14.2。
二、下载PHP
PHP 官方下载地址为:https://windows.php.net/download。
从中下载最新版本、NTS版本。本文中使用的版本为:php-7.3.0-nts-Win32-VC15-x64。
PHP 的运行依赖相应版本的 Visual C++ Redistributable for Visual Studio,下载页面左侧提供了相应文件在微软官网上的下载链接。本文中使用到的为:VC15-x64。
关于 TS 版本与 NTS 版本的区别,下载页面左侧有介绍。本文中使用的为:NTS版本。
安装
都是压缩文件,解压就可以使用了。建议解压到系统所在磁盘(一般是C盘)以外的磁盘中。
配置
一、配置 PHP
(一)创建文件 php.ini。
打开 PHP 解压目录,找到文件 php.ini-recommended 并修改文件名为 “php.ini-recommended”,修改之前最好先备份一份原文件;
文件 php.ini 是什么?这个文件本身包含了详细的对自身的介绍,用文本编辑器打开它就可以看到,纯英文的。
(二)对文件 php.ini 进行修改。
下面列出的是一些非常重要的修改,更多修改可以阅读文件 php.ini 本身的说明。
1)设置“PHP 扩展”所在的路径;
使用文本编辑器在文件 php.ini 中搜索:
;extension_dir = “ext”
将其修改为:
extension_dir = “./ext”
修改的时候注意路径中的斜杠是 / 而不是 \。
2)根据自身需求,启用必要的“PHP扩展”
使用文本编辑器在文件 php.ini 中搜索:
extension=
去掉前面的分号 ; 即可启用相应的 PHP 扩展。
建议启用所有带有 mysql 字样的扩展,以便日后使用 MySQL。
3)启用错误日志
使用文本编辑器在文件 php.ini 中搜索:
log_errors = On
设置为 On 是启用,设置为 Off 是不启用,这里默认是 On,不作修改。
其次搜索:
;error_log = php_errors.log
将其修改为:
error_log = “./php_errors.log”
随后在“PHP 解压目录”下新建一个空白文本文档,修改其文件名为“php_errors.log”。这里有一个疑问,如果不手工创建这个文本文档,系统是会自动创建它呢,还是会报错呢?没有试过。
二、配置 Nginx
打开前面 Nginx 压缩包解压到的文件夹,里面有一个文件夹名为 conf,conf 里面有一个文件名为 nginx.conf,使用文本编辑器打开这个文件进行修改,修改之前最好先备份一份原文件。
nginx.conf 文件的结构大致是这样的:文件中包含若干个 http {},http{} 中又包含若干个 server {},server {} 中又包含若干个 location {}。更多有关nginx.conf 的信息,可以参阅 Nginx 官方文档: http://nginx.org/en/docs/beginners_guide.html。
(一)设置网站文件放置路径
在文件中搜索:
location / {
root html;
index index.html index.htm;
}
如果你的网站文件存放在 z:\www\sites 下,就将 root html 修改为:
root “z:/www/sites”
同样的,修改的时候注意路径中的斜杠是 / 而不是 \。
如果不作修改,就应该把网站文件放到 html 文件夹下。哪个 html 文件夹呢? 就是文件 Nginx.exe 所在文件夹下的 html 文件夹……
(二)设置 Nginx 与 PHP 协同工作
在文件中找到:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#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;
#}
将其修改为:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root "Z:/www/sites";
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
运行
假若,文件 Nginx.exe 的路径为:z:\www\nginx\nginx.exe
假若,文件php-cgi.exe 的路径为:z:\www\php\php-cgi.exe
假若,网站文件存放路径为:z:\www\sites。
首先找到 nginx.exe 并双击运行,其次在命令行窗口中运行:
z:\www\php\php-cgi.exe -b 127.0.0.1:9000 -c z:\www\php\php.ini
在目录 z:\www\sites 下创建文件 phpinfo.php,写入以下内容:
<?php
phpinfo();
在网页浏览器地址栏中输入以下内容并回车:
localhost/test.php
查错
Nginx 的日志文件:
Z:\www\nginx\logs\access.log
Z:\www\nginx\logs\error.log
详情请参阅 Nginx 官方文档中的描述: https://docs.nginx.com/nginx/admin-guide/monitoring/logging/
PHP 的日志文件:
Z:\www\php\php_errors.log
辅助工具
Python 写了两个小工具,控制 Nginx 与 PHP 的启动、停止、重启等。重装系统把这两个小工具弄丢了,日后补上。
参考资料
- PHP 官方文档:http://php.net/manual/en/
- Nginx 官方文档:http://nginx.org/en/docs/
- windows下配置nginx+php环境:https://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html
上一篇: Solr 4.x 全量索引 - 导入并索引数据库数据
下一篇: Nginx安装及配置详解