我在PHP脚本中使用getenv()
时遇到问题。我在bash会话中设置了环境变量:
MYPATH=~/some/kind/of/path
我已经确认它正在使用:
echo $MYPATH
我的问题:
为什么getenv( 'MYPATH' )
在我的PHP网页脚本中使用它时会返回false
?我希望返回 / home / user / some / kind / of / path 。
答案 0 :(得分:3)
如果您在taht之后立即设置var并调用php脚本,则必须在同一个shell会话中导出环境var:
当某个变量导出到环境时,它会被传递到所有后代进程的环境中。因为php创建了一个新的"子进程"你必须分享"环境"和vars一起使用,这就是使用export语句时会发生的事情。
答案 1 :(得分:0)
如果您尝试通过Web SAPI中的PHP访问此环境变量,则需要在Web服务器的配置中设置环境变量,例如:使用SetEnv
在vhost
部分中
<VirtualHost hostname:80>
...
SetEnv VARIABLE_NAME variable_value
...
</VirtualHost>
答案 2 :(得分:-1)
如果要获取当前目录的文件路径,可以使用:
define("FILE_ROOT", dirname(__FILE__));
然后当你想要使用它时:
echo FILE_ROOT;