PHP:如何获取内部参数?

Lev*_*son 13 php command-line-arguments

鉴于命令:

/usr/bin/php -c /path/to/custom/php.ini /path/to/script.php
Run Code Online (Sandbox Code Playgroud)

我想获得内部选项:

-c /path/to/custom/php.ini
Run Code Online (Sandbox Code Playgroud)

我尝试过的东西不起作用:

  • $argv 包含 ['/path/to/script.php']
  • getopt('c') 包含 []
  • $_ENV 不包含它
  • $_SERVER 不包含它

我也寻找一个PHP_*常量(例如PHP_BINARY但是找不到这些参数.

有没有办法得到这些论点?请注意,我不是要尝试获取已加载的ini文件,而是尝试此处可能存在的任何参数.

Har*_*rev 2

-c /path/to/custom/php.ini是在启动脚本之前传递给 PHP 解析器、解释器和其他内部内容的选项。

/path/to/script.php 是一个实际参数,不仅传递给 PHP 可执行文件,而且传递给您的脚本。

以下参数/usr/bin/php -c /path/to/custom/php.ini /path/to/script.php A B C也将传递给您的脚本。

不幸的是,该-c选项不是其中之一。

php.ini您可以通过使用 来获取执行的 PHP 脚本中使用的文件get_cfg_var。

echo get_cfg_var('cfg_file_path');
Run Code Online (Sandbox Code Playgroud)

如果您传递该-c选项,您将获得 php.ini 文件的路径。否则您将获得默认的 php.ini 文件。