http-vhosts.conf虚拟主机环境变量不起作用

大卫

我在Mac OS X 10.9.4上使用PHP 5.4.24运行Apache 2.2.26。我有几个在该系统上运行的虚拟主机,并且所有虚拟主机都成功运行。我正在尝试将环境变量添加到其中一个虚拟主机,并且我不希望它们位于.htaccess中,因此我唯一的选择是将它们添加到httpd-vhosts.conf中。

问题是环境变量在我将它们安装在httpd-vhosts.conf文件中之后(当然,并且在我重新启动Apache“ sudo apachectl restart”之后)也没有出现。但是,如果我将它们添加到.htaccess(仅出于比较目的),它们看起来就很好。我想念什么?

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName mysite.local
  DocumentRoot "/path/to/mysite.com"
  SetEnv siteid 1234
  ErrorLog "/var/log/apache2/mysite.local-error_log"
</VirtualHost>

我还仔细检查了我的php.ini文件,以确保那里没有任何禁止的东西,并且唯一相关的行看起来不错:

variables_order = "GPCSE"

再次提醒您,我的虚拟主机RUN FINE。只是在我的PHP代码中调用时,环境变量没有出现。我已经尝试了以下三个命令:

echo $_SERVER["siteid"];
echo getenv("siteid");
echo apache_getenv("siteid");

我做错了什么?

大卫

对我来说,这是一个令人难以置信的追求,但是我找到了一个非常简单但晦涩的答案。首先,让我澄清一下我以前的问题,我没有意识到我的Mac运行的是OS X Server,这有效地改变了Apache在我的系统上运行的方式。

话虽如此,以下是通过OS X Server应用程序在我的系统上安装的等效PERD虚拟主机的httpd-vhosts.conf文件

/Library/Server/Web/Config/apache2/sites/0000_any_80_mylocalsite.conf

显然,“ 80”是常规http请求的端口,“ mylocalsite”是我在OS X Server应用程序中创建的本地虚拟主机的名称。现在,该文件已经由OS X Server生成,我现在可以按以下方式对其进行编辑:

sudo vi /Library/Server/Web/Config/apache2/sites/0000_any_80_mylocalsite.conf

它打开了一个配置文件,看起来与正常的httpd-vhosts.conf文件类似,并且几乎完全相同(请注意SetEnv testid“ 1234”行,这是我一直在寻找的解决方案,并且只能手动完成,不能通过操作系统完成X Server应用程序).​​..

<VirtualHost *:80>
  ServerName mysite.local
  ServerAdmin [email protected]
  DocumentRoot "/my/local/docroot/path/to/mysite.com"
  SetEnv testid "1234"
  DirectoryIndex index.html index.php /wiki/ /xcode/ default.html
  CustomLog /var/log/apache2/access_log combinedvhost
  ErrorLog /var/log/apache2/error_log
  <IfModule mod_ssl.c>
      SSLEngine Off
      SSLCipherSuite "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"
      SSLProtocol -ALL +SSLv3 +TLSv1
      SSLProxyEngine On
      SSLProxyProtocol -ALL +SSLv3 +TLSv1
  </IfModule>
  <Directory "/my/local/docroot/path/to/mysite.com">
      Options All -Indexes -ExecCGI -Includes +MultiViews
      AllowOverride All
      <IfModule mod_dav.c>
          DAV Off
      </IfModule>
      <IfDefine !WEBSERVICE_ON>
          Deny from all
          ErrorDocument 403 /customerror/websitesoff403.html
      </IfDefine>
  </Directory>
</VirtualHost>

请希望有一天能对其他人有所帮助。我花了太多时间寻找这种解决方案,只是在蛮力策略中偶然发现它,我想知道这一点希望可以节省一些人进行自我搜索的时间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

http-vhosts.conf虚拟主机环境变量不起作用

来自分类Dev

vhosts.conf RewriteRule

来自分类Dev

Apache重写规则httpd-vhosts.conf

来自分类Dev

编辑apache vhosts和ubuntu主机文件?

来自分类Dev

编辑apache vhosts和ubuntu主机文件?

来自分类Dev

/ etc / nginx / vhosts /中的Nginx虚拟主机错误重复位置“ /”

来自分类Dev

HTTP错误403-每次我在httpd.conf中启用#include conf / extra / httpd-vhosts.conf行。有什么建议吗?

来自分类Dev

Bitnami Wordpress httpd-vhosts.conf网址重写问题

来自分类Dev

ErrorDocument无法用作httpd-vhosts.conf中的本地路径

来自分类Dev

Bitnami Wordpress httpd-vhosts.conf网址重写问题

来自分类Dev

原始的 httpd-vhosts.conf 是什么样的?

来自分类Dev

XAMPP虚拟主机不起作用

来自分类Dev

Apache虚拟主机不起作用

来自分类Dev

apache虚拟主机不起作用

来自分类Dev

XAMPP虚拟主机不起作用

来自分类Dev

Apache虚拟主机不起作用

来自分类Dev

lighttpd 虚拟主机不起作用

来自分类Dev

vhosts.conf中的DocumentRoot会覆盖httpd.conf中的全局DocumentRoot

来自分类Dev

Nginx虚拟主机不起作用(错误的重定向)

来自分类Dev

PHP在虚拟主机中不起作用

来自分类Dev

PHP Inpreter在特定的虚拟主机中不起作用

来自分类Dev

13.10虚拟主机文件不起作用

来自分类Dev

Apache服务器虚拟主机不起作用

来自分类Dev

Apache虚拟主机不起作用(错误403)

来自分类Dev

Centos 7:多个虚拟主机不起作用

来自分类Dev

MAMP-虚拟主机不起作用

来自分类Dev

Nginx 命名的虚拟主机在 Vagrant 中不起作用

来自分类Dev

删除环境变量不起作用

来自分类Dev

路径环境变量不起作用