首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Apache虚拟主机不解析PHP

Apache虚拟主机不解析PHP
EN

Stack Overflow用户
提问于 2012-02-16 12:45:37
回答 9查看 83.3K关注 0票数 22

我决定在我的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没有用。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-02-16 22:46:39

这最终让我走上了正确的道路:

http://www.linuxquestions.org/questions/linux-server-73/php-not-working-on-one-vhost-but-works-on-all-others-851093/

以下是解决方案:

<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>
票数 18
EN

Stack Overflow用户

发布于 2013-03-23 01:43:14

这也可能是因为php文件使用了短的php标签<?而不是<?php。默认情况下,php.ini配置文件中不启用短标记。

票数 27
EN

Stack Overflow用户

发布于 2016-08-31 18:44:33

在我的例子中,这个问题是通过运行以下命令修复的:

apt-get install libapache2-mod-php
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9305680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档