📜  php 支持的 Web 服务器(1)

📅  最后修改于: 2023-12-03 15:03:42.403000             🧑  作者: Mango

PHP 支持的 Web 服务器

PHP 是一种基于服务器端脚本语言,广泛应用于互联网开发领域。因此,PHP 脚本必须运行在 Web 服务器上。有许多 Web 服务器可与 PHP 结合使用,本文将对其中较为常见的 5 种 Web 服务器进行介绍。

Apache

Apache 是最流行的开源 Web 服务器之一,PHP 与 Apache 结合使用是最常见的方式。通过使用 mod_php 模块,Apache 能够将 PHP 解释器嵌入到服务器进程中。以下是在 Apache 中配置 PHP 的示例代码:

LoadModule php7_module modules/libphp7.so
AddType application/x-httpd-php .php
Nginx

Nginx 是另一个流行的开源 Web 服务器。与 Apache 不同,Nginx 不会将 PHP 解释器嵌入到其进程中。相反,它使用 FastCGI 协议将 PHP 进程作为外部服务运行。以下是在 Nginx 中配置 PHP 的示例代码:

location ~ \.php$ {
  fastcgi_pass unix:/run/php/php7.4-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
lighttpd

lighttpd 是一种轻量级 Web 服务器,它使用类似于 Nginx 的方式来启动 PHP 进程。 与 Nginx 一样,lighttpd 通过 FastCGI 协议来连接到 PHP 进程。以下是在 lighttpd 中配置 PHP 的示例代码:

fastcgi.server = ( ".php" => ((
  "socket" => "/var/run/php/php7.4-fpm.sock",
  "bin-path" => "/usr/bin/php-cgi",
  "max-procs" => 4,
  "idle-timeout" => 20,
  "bin-environment" => (
    "PHP_FCGI_CHILDREN" => "5",
    "PHP_FCGI_MAX_REQUESTS" => "500"
  ),
  "bin-copy-environment" => (
    "PATH", "SHELL", "USER"
  ),
  "broken-scriptfilename" => "enable"
)))
Caddy

Caddy 是一种新兴的 Web 服务器,它提供了现代化的功能和易用的配置文件语法。Caddy 可以通过内置的 php_fastcgi 插件与 PHP 结合使用,以下是在 Caddy 中配置 PHP 的示例代码:

example.com {
  root * /var/www/site
  php_fastcgi unix//run/php/php7.4-fpm.sock {
    index index.php
  }
}
IIS

IIS 是一种适用于 Windows 操作系统的 Web 服务器。PHP 可以通过 Microsoft 的 FastCGI 模块轻松地与 IIS 集成。以下是在 IIS 中配置 PHP 的示例代码:

<configuration>
  <system.webServer>
    <fastCGI>
      <application fullPath="C:\Program Files\PHP\php-cgi.exe" />
    </fastCGI>
    <handlers>
      <add name="PHP via FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files\PHP\php-cgi.exe" resourceType="Either" />
    </handlers>
  </system.webServer>
</configuration>

以上是 PHP 支持的 5 种 Web 服务器,均可与 PHP 无缝结合使用。由于每种 Web 服务器的配置方式略有不同,因此必须仔细阅读相关文档以了解如何正确地配置您的 PHP 环境。