欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Windows 8.1 下配置 Nginx + PHP 开发环境

程序员文章站 2024-02-22 11:46:52
...

前言


除了这篇文章介绍的方法,也可以使用一些工具软件一键搭建 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 的启动、停止、重启等。重装系统把这两个小工具弄丢了,日后补上。

参考资料