【问题标题】:Using Linux Environment Variables in PHP在 PHP 中使用 Linux 环境变量
【发布时间】:2012-12-19 06:32:22
【问题描述】:

我使用的是 Windows 7 Ultimate、PHP 5.2、VMWare(带有 Ubuntu Server V11.04)

我的计划是在 linux 和 windows 平台上都创建一个环境变量,并让它们在 PHP 中工作。所以我在 Windows 中创建了变量“ROOT_DIR”,在 Windows 中创建了另一个“ROOT_DIR”变量。

我在 PHP 中有这段代码,我希望在这两个平台上都可以工作:

<?php
echo 'My username is ' .$_ENV["ROOT_DIR"] . '!';
?>

但在 Linux 中,它输出的都是 NULL。我想知道我在这里做错了什么。任何帮助将不胜感激。

【问题讨论】:

  • 你试过getenv()吗?
  • 肯定会输出“我的用户名是”和“!”,对吧?
  • 我怀疑这不是 PHP,而是 Linux/bash 问题。你是如何定义变量的?你用过“出口”吗?
  • 我试过 getenv 也没有用。是的,我用过“出口”。
  • 如何运行代码?是 CLI 还是 Web 脚本?

标签: php linux


【解决方案1】:

如果您通过浏览器运行脚本,请尝试将以下内容添加到您的主 .htaccess 文件中

SetEnv ROOT_DIR "/path/to/root/"

apache setenv

【讨论】:

  • 似乎我在 /var/www 文件夹中没有 .htaccess 文件。我可以创建一个吗?
  • 这行得通。但我不得不使用 _SERVER 而不是 _ENV。或者,也许我可以编辑我的 Windows 的 htaccess,这样我也可以在 Windows 中使用 _SERVER。 Windows 中的 htaccess 在哪里?
  • 你可以新建一个,放在你的根目录下。
  • 我做了,但没用。我应该编辑任何文件以便 .htaccess 工作吗?
  • 尝试将无效的命令/文本/代码添加到 .htaccess 并查看服务器是否会受到影响(通过使用代码 500 进行响应)。这是一种告诉服务器实际读取 .htaccess 的方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-16
  • 2018-02-25
  • 1970-01-01
  • 1970-01-01
  • 2015-02-14
  • 1970-01-01
相关资源
最近更新 更多