我在 /etc/bash.bashrc 和配置文件中设置了环境变量。它们在 shell 脚本中工作正常,但不是 php。
我努力了:
$VAR = getenv('VAR');
$VAR = $_ENV["VAR"];
如果我从命令行运行 php 脚本,它们会打印出来。但是如果我从网络上运行它,它们仍然是空白的。
我做了一些研究并编辑了 php.ini 以在变量顺序中有一个“E”。还注释掉了关于 request_order 的下一行(因为它说留空将默认返回 variables_order 中设置的值)。我重新启动,它没有工作。
已解决(部分):我将“SetEnv VAR /dir/dir/dir”添加到 /etc/apache2/sites-available/default 文件中。但是,我仍然有将 $VAR 和目录的其余部分串在一起的问题……那是行不通的。例如:
$VAR = "/var/www";
$new = "$VAR/dir2/file.txt";
当我打开文件 $new 时,php 脚本会挂起(从 Web 浏览器运行时)。但是,如果我从命令行运行 php 脚本,那该死的东西就起作用了!模糊地带。