【发布时间】:2012-03-07 12:29:36
【问题描述】:
我决定在我的 Apache 服务器上启用虚拟主机,并选择使其基于端口。
我做的第一件事当然是 RTM。我遵循了found here 的指示。嗯,它奏效了——有点。就虚拟主机运行而言,它确实如此。从 :80 拉取的内容与 :8080 不同。
但是 PHP 不工作。 “原始站点”(端口 80)运行 PHP 非常好。但是,端口 8080 站点将 PHP 发送到浏览器。我在浏览器中什么都看不到,但源代码显示:
<?php
echo "It worked!";
?>
在一些网站上似乎对这个主题的记录非常松散,但要么我在其中找不到解决方案,要么列出的解决方案对我不起作用。
同样,虚拟主机本身运行良好。而 PHP 则不然。
关于它可能是什么的任何想法?我应该提供我的 httpd.conf 文件中的哪些内容,这样我才不会通过复制/粘贴整个内容来解决我的问题?
(对不起,我忘记发布我已经准备好了这些,Phil。添加以避免进一步混淆)
Listen 80
Listen 8080
NameVirtualHost *:80
NameVirtualHost *:8080
<VirtualHost *:80>
ServerName mysite.com
DocumentRoot /var/www/vhosts/Site1/httpdocs
</VirtualHost>
<VirtualHost *:8080>
ServerName mysite.com
DocumentRoot /var/www/vhosts/Site2/httpdocs
</VirtualHost>
我尝试在标签中添加这个:
AddHandler php5-script .php
AddType text/html .php
...但无济于事。
【问题讨论】:
-
你在什么操作系统上运行 apache?你能告诉我们你的 php / apache vhost 配置文件吗?
-
操作系统是 CentOS 5.5。就配置文件而言,我没有任何 .htaccess 文件,所以唯一的管理配置文件(我认为)是 httpd.conf 和 php.ini 文件。除了这些我应该查看的文件之外,还有什么特别的文件吗?其中有哪些配置参数?我认为我的 VirtualHost 行很好,因为不同的端口提供不同的内容,但 PHP 无法正常工作 - 所以我很可能对此大错特错。
-
您的
sites-available文件夹中应该有一个something.vhost文件/etc/apache2/sites-available/您是否对每个端口都有一个特定的vhost 文件,还是只有一个配置文件?如果您只有一个文件,例如:default或者您可能只使用httpd.confg发布下面的内容<VirtualHost *:8080> -
我(从根目录)搜索任何名为 *.vhost 的文件,但一无所获——与搜索“可用站点”相同。您引用的 apache2 目录也不存在(我想是不同的发行版?)我将编辑我的原始帖子以包含
<VirtualHost>标签,因为它的格式比这个快速评论响应更好。 -
我需要以domainname:8080 运行,然后它可能会工作