【发布时间】: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