gpt4 book ai didi

PHP 命令行界面 : Possible to set a $_SERVER Variable that's an Array?

转载 作者:行者123 更新时间:2023-12-05 04:12:03 25 4
gpt4 key购买 nike

bash 中从命令行运行 PHP 时,是否可以设置一个 $_SERVER 变量,它本身就是一个数组?

也就是说,如果我做这样的事情

$ export test=foo

然后运行这样的程序

<?php
#File: test.php
var_dump($_SERVER['test']);

程序将输出字符串值“foo”。是否可以让 $_SERVER['test'] 等于一个 PHP 数组而无需额外的 PHP 代码?

我要解决的具体问题是我有一个无法修改的基于 Symfony CLI 的程序,该程序使用 $_SERVER 变量来引导其环境。

use Magento\Framework\App\Bootstrap;
use Magento\Framework\Shell\ComplexParameter;
//...
$bootstrapParam = new ComplexParameter(self::INPUT_KEY_BOOTSTRAP);
$params = $bootstrapParam->mergeFromArgv($_SERVER, $_SERVER);
$params[Bootstrap::PARAM_REQUIRE_MAINTENANCE] = null;
$bootstrap = Bootstrap::create(BP, $params);

Bootstrap::create(BP, $params); 识别 $params 中的一些嵌套键——我正在尝试找到一种方法来更改这些值无需修改 CLI 程序本身。

最佳答案

您可以通过.htaccess 文件或apache .conf 文件设置任何服务器变量,您可以使用mod_env 来实现。

SetEnv MY_EXAMPLE myexample_data

然后你可以在php文件中访问那个变量

echo $_SERVER["MY_EXAMPLE"]; //outputs myexample_data

或者在使用 PHP CLI 时您可以使用以下设置 $_SERVER 变量

putenv('MY_EXAMPLE=myexample_data');

关于PHP 命令行界面 : Possible to set a $_SERVER Variable that's an Array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41288035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com