gpt4 book ai didi

php - 在 PHP 中,测试是否定义了 Apache 变量(与 .htaccess 中的 IfDefine 相同)

转载 作者:搜寻专家 更新时间:2023-10-31 21:30:42 25 4
gpt4 key购买 nike

如何从 PHP 测试是否定义了 Apache 变量?在 .htaccess 中,这是用 IfDefine 测试的。

启动 Apache 时,我定义了一个变量:在 Windows 中用

httpd.exe -D "MYVARIABLE" -w -n "Apache2.2" -k start

并在 Ubuntu 中添加到 /etc/apache2/envvars:

export APACHE_ARGUMENTS='-D MYVARIABLE'

现在我可以在 .htaccess 中使用它了

<IfDefine MYVARIABLE>
do stuff
</IfDefine>

而且有效。

我如何从 PHP 测试它?我试过了

if (getenv ('MYVARIABLE')) do stuff;
if (apache_getenv ('MYVARIABLE')) do stuff;

但它总是返回FALSE

phpinfo ();

打印了很多东西,但输出中没有字符串 MYVARIABLE

最佳答案

感谢 mario 的评论,我认为答案是:

  • 在 Windows 上,当变量设置为命令行参数时可能没有办法,例如

    httpd.exe -D "MYVARIABLE" -w -n "Apache2.2" -k start
  • 在 Linux/Ubuntu 上,如果在 /etc/apache2/envvars 中设置为

    export APACHE_ARGUMENTS='-D MYVARIABLE'

    然后从 PHP

    $x = getenv ('APACHE_ARGUMENTS')

    给出 -D MYVARIABLE,您可以从中使用 strstr ($x, 'MYVARIABLE') 左右查找变量。

关于php - 在 PHP 中,测试是否定义了 Apache 变量(与 .htaccess 中的 IfDefine 相同),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30363544/

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