1

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 をブラウズすると、変数の値が得られません。誰でも助けることができますか?

4

1 に答える 1

0

Centos の Apache には、期待どおりの環境変数が含まれていません。1 つの解決策は、手動で /etc/sysconfig/httpd 内にファイルを含めることです。

  • /etc/sysconfig/httpd の末尾に /etc/profile.d/marketing_vars.sh を追加します。
  • アパッチを再起動する

Apache、CLI、および cron で一貫性を保つための最善の解決策は、構成ファイルを使用し、それをインクルード/解析して変数を取得することです。

于 2015-02-19T08:35:31.030 に答える