在centos和Redhat上我创建了一个文件/etc/profile.d/marketing_vars.sh并在其中添加了以下行
#Vars for PowerMail
export CmsRoot="/var/www/html/cms/"
export PMRoot_Dev="/var/www/html/powermail/"
export PMRoot_QA="/var/www/html/powermail/"
export PMRoot_Pro="/var/www/html/powermail/"
在命令行上我点击“source marketing_vars.sh” 和“chmod + x /etc/profile.d/marketing_vars.sh”
然后我创建了一个test.php文件并将这些行添加到它
error_reporting(E_ALL ^ E_NOTICE);
echo "PMRoot_Dev = " . getenv("PMRoot_Dev");
echo "<br>";
echo "PMRoot_QA = " . getenv("PMRoot_QA");
echo "<br>";
echo "PMRoot_Pro = " . getenv("PMRoot_Pro");
echo "<br>";
当我浏览test.php时,我没有获得任何变量的值。有人可以帮忙吗?
答案 0 :(得分:0)
Centos上的Apache不包含您期望的env变量。一种解决方案是手动包含/ etc / sysconfig / httpd。
中的文件在apache,CLI和crons中保持一致的最佳解决方案是使用配置文件并包含/解析它以获取变量。