设置 Windows

有许多工具都捆绑了 Windows 下的 Apache、PHP 和 MySQL,安装简单,使用方便。这些工具中的大多数都已支持带有 Apache 的 PHP 7,如 XAMPP、WAMPP 和 EasyPHP。EasyPHP 是唯一一款同时支持 NGINX 的工具,并提供了将网络服务器从 NGINX 更改为 Apache 或 Apache 更改为 Nginx 的简单步骤。

XAMPP 也适用于 Linux 和 Mac OS X,但 WAMP 和 EasyPHP 只适用于 Windows。本书可以使用这三种软件中的任何一种,但我们推荐 EasyPHP,因为它支持 NGINX,而在本书中,我们主要使用 NGINX。

这三个工具中的任何一个都可以使用,但我们需要对网络服务器工具的每个元素进行更多控制,因此我们还将单独安装 NGINX、PHP 7 和 MySQL,然后将它们连接在一起。

NGINX Windows 二进制文件可以从 http://nginx.org/en/download.html 下载。我们建议使用稳定版本,尽管使用主线版本没有问题。PHP Windows 二进制文件可以从 http://windows.php.net/download/ 下载。根据您的系统下载非线程安全版本的 32 位或 64 位二进制文件。

执行以下步骤:

  1. 下载信息框中提到的 NGINX 和 PHP Windows 二进制文件。将 NGINX 复制到一个合适的目录。例如,我们有一个完全独立的 D 盘用于开发。将 NGINX 复制到该开发驱动器或任何其他目录。现在,将 PHP 复制到 NGINX 目录或任何其他安全的文件夹位置。

  2. 在 PHP 目录中,会有两个 .ini 文件:php.ini-developmentphp.ini-production。将其中一个重命名为 php.ini。PHP 将使用该配置文件。

  3. 按住 Shift 键并右击 PHP 目录,打开命令行窗口。命令行窗口将在相同的位置路径下打开。发出以下命令启动 PHP:php-cgi -b 127.0.0.1:9000

    -b 选项启动 PHP 并绑定到外部 FastCGI 服务器的路径。上述命令将 PHP 绑定到 9000 端口的 127.0.0.1 IP 上。现在,PHP 可以通过此路径访问。

  4. 要配置 NGINX,打开 nginx_folder/conf/nginx.conf 文件。首先要做的是在服务器块中添加 rootindex,如下所示:

    server {
        root html;
        index index.php index.html index.htm;
  5. 现在,我们需要配置 NGINX,在前面提到的启动路径上使用 PHP 作为 FastCGI。在 nginx.conf 文件中,取消对以下 PHP 位置块的注释:

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME complete_path_webroot_folder$fastcgi_script_name;
        include fastcgi_params;
    }

    注意 fastcgi_param 选项。高亮显示的 complete_path_webroot_folder 路径应该是 nginx 文件夹内 HTML 目录的绝对路径。假设 NGINX 位于 D:\nginx 路径下,那么 HTML 文件夹的绝对路径就是 D:\nginx\html。但是,在前面的 fastcgi_param 选项中,\ 应替换为 /

  6. 现在,通过在 NGINX 文件夹的根目录中发出以下命令来重新启动 NGINX:

    nginx –s restart
  7. NGINX 重新启动后,打开浏览器并输入 Windows 服务器或机器的 IP 或主机名,我们就会看到 NGINX 的欢迎信息。

  8. 现在,要验证 PHP 安装及其与 NGINX 的配合,请在 webroot 中创建一个 info.php 文件并在其中输入以下代码:

    <?php
        phpinfo();
    ?>
  9. 现在,在浏览器中访问 your_ip/info.php,我们将看到一个包含 PHP 和服务器信息的页面。恭喜你 我们配置了 NGINX 和 PHP,使它们能完美地协同工作。

在 Windows 和 Mac OS X 上,我们建议使用安装了 Linux 版本所有工具的虚拟机,以获得服务器的最佳性能。在 Linux 中管理一切都很容易。有一些 vagrant 盒子可以提供所有可用的工具。此外,还可以在 https://puphpet.com 上定制虚拟机配置,包括 NGINX、Apache、PHP 7、Ubuntu、Debian 或 CentOS 以及其他优秀工具,这是一个易于使用的图形用户界面。另一个不错的工具是 Laravel Homestead,它是一个 Vagrant box,里面有很多好工具。