【问题标题】:How to force PHP CLI to read my .user.ini file?如何强制 PHP CLI 读取我的 .user.ini 文件?
【发布时间】:2023-04-01 16:19:01
【问题描述】:

documentation for php.ini 中,它说“php.ini 在... [the] 当前工作目录(CLI 除外) 中搜索”。

为什么通过 CLI 运行时它不读取我的 .user.ini file?有什么方法可以配置 PHP 让它总是检查当前目录(或脚本的目录)是否有额外的 ini 文件?

我在 OSX 上,运行 Homebrew PHP。我的解决方法是像这样运行 PHP,它确实有效(它会拾取所有常规 ini 文件以及当前工作目录中的那个),但它非常尴尬:

PHP_INI_SCAN_DIR="/usr/local/etc/php/7.0/conf.d:." php [options]

有没有办法配置 php 以使其成为默认行为?我错过了什么吗?

【问题讨论】:

  • 你可以在.bashrc中设置环境变量。
  • 在目录列表中使用. 是危险的。这意味着脚本的行为将取决于用户运行时的当前目录。
  • 您可以使用php --ini检查加载的ini文件,您可以设置ini文件以在“X”文件夹中加载额外的ini文件或检查它是否已经在执行(通常额外的ini为 pdo 或类似的 php 库加载文件)
  • @Barmar 危险与否,这正是我想要的:“脚本的行为将取决于用户的当前目录” - 请。告诉我该怎么做。
  • 我认为这是唯一的选择。 PHP 的大多数默认值都设置在 php.ini 中,但显然您不能使用它来设置默认值以首先查找文件。

标签: php command-line-interface ini


【解决方案1】:

.bashrc 中设置PHP_INI_SCAN_DIR 变量:

export PHP_INI_SCAN_DIR=/usr/local/etc/php/7.0/conf.d:.

然后打开一个新的终端窗口,它应该使用这个设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多