【问题标题】:Find out how PHP is running on server (CGI OR fastCGI OR mod_php)了解 PHP 如何在服务器上运行(CGI 或 fastCGI 或 mod_php)
【发布时间】:2013-05-01 02:41:23
【问题描述】:

我使用共享主机。

有可能查明 PHP 是通过 fastCGI(或者可能是 CGI)还是作为 Apache 模块运行 mod_php

有没有可能不问楼主自己发现?

【问题讨论】:

  • 您可以上传一个包含<?php phpinfo(); 的.php 文件并查看加载的模块吗?
  • 确保之后删除该文件,特别是如果该网站将在线托管。它不应该被托管或访问,因为它会将有价值的信息泄露给潜在的恶意用户。

标签: php apache


【解决方案1】:

这是phpinfo()'s 输出顶部的Server 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

【讨论】:

    【解决方案2】:

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

    或创建一个文件info.php 并输入

    <?php 
        phpinfo(); 
    ?>
    

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

    在文件中找到服务器 API,它显示 PHP 正在使用 CGI 或 Apache 的服务器上运行

    安全考虑:确保删除输出phpinfo() 的文件,尤其是当网站正在或将要在线托管时。那里显示的信息是黑客的金矿。

    【讨论】:

      猜你喜欢
      • 2019-02-03
      • 1970-01-01
      • 2010-11-10
      • 2016-12-08
      • 2019-09-22
      • 2015-12-23
      • 2018-01-30
      • 2019-08-06
      相关资源
      最近更新 更多