📅  最后修改于: 2023-12-03 15:03:42.403000             🧑  作者: Mango
PHP 是一种基于服务器端脚本语言,广泛应用于互联网开发领域。因此,PHP 脚本必须运行在 Web 服务器上。有许多 Web 服务器可与 PHP 结合使用,本文将对其中较为常见的 5 种 Web 服务器进行介绍。
Apache 是最流行的开源 Web 服务器之一,PHP 与 Apache 结合使用是最常见的方式。通过使用 mod_php
模块,Apache 能够将 PHP 解释器嵌入到服务器进程中。以下是在 Apache 中配置 PHP 的示例代码:
LoadModule php7_module modules/libphp7.so
AddType application/x-httpd-php .php
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 是一种轻量级 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 是一种新兴的 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 是一种适用于 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 环境。