php - 用户输入后为 apache 设置环境变量
问题描述
我需要在用户输入后传递一些动态环境变量以用作 PHP 的变量。
我已经有一个脚本可以导出用户输入的变量
#!/bin/bash
export APACHE_ENV_VAR0 = $1
export APACHE_ENV_VAR1 = $2
之后,我检查了值,一切正常。然后我在我的 httpd.conf 中设置以下内容
SetEnv APACHE_ENV_VAR0 ${APACHE_ENV_VAR0}
SetEnv APACHE_ENV_VAR1 ${APACHE_ENV_VAR1}
#Also tried with PassEnv directive
问题是输出总是错误的,所以它没有找到那些变量。
这个想法是在我执行脚本并设置我的变量后,启动 httpd 并使用这些变量,但没有按预期工作。
我的环境是centos,apache2.4和php5.4
关于如何做到这一点的任何想法。需要用户输入。
提前致谢!
解决方案
最可能的罪魁祸首是 Apache 作为不同的用户在不同的上下文中启动,并且没有设置这些环境变量。更直接的方法是保留 httpd.conf 的原始副本作为模板。在其中搜索并替换您需要的变量值,然后使用修改后的文件启动 Apache。
例如在模板文件 SetEnv APACHE_ENV_VAR0 ^REPLACE_ME^
推荐阅读
- r - Sushi plotBedgraph 和 plotBed 函数产生错误
- arrays - 使用 ArrayFormula 的动态骰子滚子电子表格
- laravel - 如何根据laravel中用户表中的主题代码显示主题表中的主题名称
- android - Cordova android URL.createObjectURL(blob)不起作用
- java - 没有将jsp文件中的java代码转换为服务器上的web资源,如地址栏所示
- python - 为什么 simplejson 认为这个字符串是无效的 json?
- php - foreach 循环中的 WP_Query 为所有选项返回相同的值
- python - 如何在不阻塞整个程序的情况下使函数在后台运行?
- testing - 在 Cypress 上动态传递夹具
- java - Maven 无法解析任何 Java 导入语句