Apache Virtual Host not parseing PHP

2022-08-30 17:29:49

我决定在我的Apache服务器上启用虚拟主机,并选择使其基于端口。

当然,我做的第一件事就是RTM。我按照此处的说明进行了操作。嗯,它起作用了--有点。就运行的虚拟主机而言,它确实如此。从 :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

...但无济于事。


答案 1

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


答案 2

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

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>

推荐