PHP是服务器端脚本语言,能够处理HTML表单等。
对于PHP,有两种处理方式:模块和CGI。
CGI是一种通用的接口协议,它定义了Web服务器如何向Web应用程序发送数据以及如何接收Web应用程序发送回来的数据。
使用CGI来运行PHP时,大多数Web服务器都会调用php-cgi可执行文件。
#!/usr/bin/php-cgi
在此示例中,我们使用php-cgi来运行PHP。
这将在Web浏览器中输出“Hello,World!”。
不幸的是,这样的脚本非常慢。
假设您有一个名为“index.php”的脚本,您可以使用CGI运行它:
AddHandler cgi-script .phpAction cgi-script /cgi-bin/php-cgi
在此示例中,我们将所有PHP脚本的扩展名设置为“.php”,然后将Web服务器指向一个CGI解释器以处理这些脚本。
但是,这样做会产生性能问题,因为每个请求都需要调用新的cgi解释器。
此外,运行CGI还可能会导致安全问题。
解决这些问题的替代方法是使用模块。
模块是直接在Web服务器内部运行的东西。
Apache和Nginx是两个流行的Web服务器,它们使用不同的方法来运行PHP模块。
Apache使用模块名为mod_php,它允许直接内联PHP代码。
Nginx使用名为php-fpm的FastCGI进程管理器作为PHP解释器。
无论您使用哪种Web服务器,所有这些字符串都将被解释为PHP代码,因此将输出“Hello,World!”: