从命令行

时间:2017-04-10 12:12:20

标签: php apache command-line virtualmin

我在拥有多个域的服务器上。我想知道每个域中加载了哪个php.ini 我手边有一些不同的工具。也许他们让我更接近我想要的东西。

  1. 简单的php -i|grep 'Loaded Configuration File'会返回系统php.ini
  2. find /home/ -xdev -name php.ini 2>/dev/null返回属于所有托管域的所有php.ini
  3. virtualmin list-php-directories --domain this.is.a.domain --multiline返回已激活特定版本PHP的所有目录。
  4. 一些样本输出:
    1.退货:

    Loaded Configuration File => /etc/php/7.0/cli/php.ini
    

    这显然是由主机操作系统加载的php.ini 2.退货:

    ...
    /home/domain.x.com/etc/php5/php.ini
    /home/domain.x.com/etc/php7.0/php.ini
    /home/domain.x.com/etc/php.ini
    /home/domain.y.com/etc/php7.0/php.ini
    /home/domain.y.com/etc/php.ini
    ...
    

    这是这些域中所有php.ini的完整列表 3.退货:

    /home/domain.x.com/public_html
      PHP version: 7.0
      Full version: 7.0.8
      Execution mode: fcgid
      Web root directory: Yes
    

    php.ini中始终有/home/domain.foo.com/etc/。这是加载的那个吗?或者我是否必须检查virtualmin加载哪个版本的PHP才能遍历到相应的子目录中?有完全不同的方式吗?

    注意:我手边只有命令行,只有一个用户可以进行监控。此外,该过程应该是非侵入性的。所以我不认为我可以在这些域中放置一些php文件来通过浏览器获得我的答案。信息可能存储在我可以解析的某个文件中吗?

1 个答案:

答案 0 :(得分:1)

仅从命令行,您需要:

  1. 安装命令行Web浏览器或者您可以使用wget命中脚本并将响应保存在文件中。
  2. 在所有域中都有<?php phpinfo();的php文件
  3. 确保所有域都能够在Web服务器上加载,或者Web服务器具有Internet访问权限,可以直接从Web加载域。最好的方法是将所有域映射到hosts文件中的localhost。
  4. 在命令行浏览器中打开每个域的phpinfo脚本并检查加载的配置文件,或者如果您已选择使用wget,只需将输出保存到文件并检查文件的内容即可获得加载的配置文件。