我决定在我的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
...but没有用。
发布于 2012-02-16 22:46:39
这最终让我走上了正确的道路:
以下是解决方案:
在<Directory>
部分中,我包含了以下几行:
<IfModule sapi_apache2.c>
php_admin_flag engine on
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
</IfModule>
或者,我的服务器上的解决方案的编辑副本/粘贴:
<Directory "/var/www/vhosts/A2/httpdocs">
<IfModule sapi_apache2.c>
php_admin_flag engine on
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
</IfModule>
(Other configuration parameters)
</Directory>
发布于 2013-03-23 01:43:14
这也可能是因为php文件使用了短的php标签<?
而不是<?php
。默认情况下,php.ini配置文件中不启用短标记。
发布于 2016-08-31 18:44:33
在我的例子中,这个问题是通过运行以下命令修复的:
apt-get install libapache2-mod-php
https://stackoverflow.com/questions/9305680
复制相似问题