如何在Apache上运行的PHP web应用程序中打印Linux shell环境变量
我正在CentOS6上使用Apache开发一个php web应用程序。 我在CentOS的命令行中使用如何在Apache上运行的PHP web应用程序中打印Linux shell环境变量,php,linux,apache,web-applications,environment-variables,Php,Linux,Apache,Web Applications,Environment Variables,我正在CentOS6上使用Apache开发一个php web应用程序。 我在CentOS的命令行中使用 export test_var=3 我不明白为什么我不能在我的web应用程序的php脚本中打印这个Linux shell变量。Apache似乎只调出自己的环境变量,而忽略了Linux环境变量 到目前为止我已经尝试过的事情: 我在/etc/php.ini中设置了变量variables\u order='EGPCS'。 这使我能够使用PHP CLI访问Linux变量,但不能在web应用程序中访问
export test_var=3
我不明白为什么我不能在我的web应用程序的php脚本中打印这个Linux shell变量。Apache似乎只调出自己的环境变量,而忽略了Linux环境变量
到目前为止我已经尝试过的事情:
/etc/php.ini
中设置了变量variables\u order='EGPCS'
。
这使我能够使用PHP CLI访问Linux变量,但不能在web应用程序中访问httpd.conf
)中添加行PassEnv test\u var
),但Apache在我的应用程序中返回一个空值。
当我在/etc/init.d/httpd
中添加行export test\u var=1
时,Passenv可以工作,但我不想使用它,因为我已经在Linux中声明和设置了这个变量,所以我不想再次设置它exec
执行shell脚本,但当我尝试使用print\u var
打印它时,我得到一个空白数组环境变量仅由子进程继承。登录到您自己的帐户时设置的环境变量对服务器进程没有影响。谢谢!有没有其他方法可以通过apache访问linux变量?不是通过个人登录,这不是环境变量在Unix上的工作方式。您需要在Apache启动脚本中添加一些内容(比如/etc/init.d/Apache)。问这样的问题的正确位置是serverfault.com,编程问题也是如此。我刚刚了解到我需要在apache启动时传递一个变量,而不是通过Linux,因此我在/etc/init.d/httpd中使用了echo-n,read-s export语句,然后在/etc/httpd/conf/httpd.conf中使用了PassEnv。感谢您的帮助和serverfault.com。