了解PHP如何在服务器上运行(CGI或fastCGI OR mod_php)

时间:2013-05-07 07:59:19

标签: php apache

我使用共享托管。

有可能发现PHP是通过fastCGI(或CGI)运行还是作为Apache模块mod_php运行?

是否有可能在不问主持人的情况下自己找出来?

2 个答案:

答案 0 :(得分:51)

这是phpinfo()'s输出顶部的服务器API 行:

Server API

但请注意,它不会告诉您Apache的确切版本或确切的CGI处理程序。它只描述了正在使用的SAPI。

你也可以调用php_sapi_name()函数(或PHP_SAPI常量,它提供相同的信息):

  

<强>描述

     

string php_sapi_name ( void )

     

返回一个描述接口类型的小写字符串(   PHP正在使用的服务器API,SAPI)。例如,在CLI PHP中   string将是“cli”,而对于Apache,它可能有几个不同   值取决于使用的确切SAPI

检查HSP的文档仍然是个好主意,因为它可以提供多个PHP版本。


请记住,您需要从要检查的相同环境运行phpinfo()(Web服务器不会告诉您有关命令行的信息,反之亦然):

C:\>php -i | findstr /C:"Server API"
Server API => Command Line Interface
$ php -i | grep 'Server API'
Server API => Command Line Interface

答案 1 :(得分:2)

您可以使用以下链接: How to determine php is running as php cgi or apache module?

或创建文件info.php并输入

<?php 
    phpinfo(); 
?>

现在使用您的域名运行文件。

在文件中找到Server API,它显示PHP正在使用CGI或Apache

的服务器上运行