I use shared hosting.
There is possible to find out whether PHP is running via fastCGI (or maybe CGI) or as Apache module mod_php
?
Is it possibly to find out by myself, without asking the hoster?
这是phpinfo()输出顶部的服务器 API行:
但是,请注意,它不一定会告诉您确切的 Apache 版本或确切的 CGI 处理程序。它只是描述了正在使用的 SAPI。
您还可以调用php_sapi_name()函数(或提供相同信息的PHP_SAPI常量):
描述
string php_sapi_name ( void )
返回描述 PHP 正在使用的接口类型(服务器 API、SAPI)的小写字符串。例如,在 CLI PHP 中,此字符串将为“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
您可以使用以下链接: 如何确定 php 是作为 php cgi 还是 apache 模块运行?
或创建一个文件info.php
并输入
<?php
phpinfo();
?>
现在使用您的域名运行文件。
在文件中找到服务器 API,它显示 PHP 正在使用 CGI 或 Apache 的服务器上运行
安全考虑:确保删除输出的文件,phpinfo()
特别是如果网站正在或将要在线托管。显示的信息是黑客的金矿。