我的Apache服务器有一个很奇怪的问题。
我有两个文件包含<?php phpinfo(); ?>
<?php phpinfo(); ?>
。 它们都放在同一台服务器上,但是在不同的虚拟主机上。 虚拟主机看起来像这样:
第一:
<VirtualHost *:80> DocumentRoot /var/www/[...]/public_html ServerName something <Directory /> AllowOverride All </Directory> </VirtualHost>
第二个:
<VirtualHost *:80> DocumentRoot /var/www/[...]/public_html ServerName something ServerAlias something <Directory /> AllowOverride All </Directory> </VirtualHost>
如你所见,他们几乎是平等的。 但是,如果我指向第二个虚拟主机上的phpinfo.php,源将被发送到客户端。 在第一个phpinfo被执行并显示给用户成功。
什么会导致这种差异?
你确定两个文件都以.php结尾吗?
你在使用<?
而不是<?php
的其中一个来源?
即使你说没有.htaccess文件不起作用 ,你会介意粘贴它的内容?
尝试恢复虚拟主机的顺序以查看是否有任何更改。
尝试一次没有任何额外的目录指令。
“AllowOverride All”表示任何apache设置都可以被每个虚拟主机的DocumentRoot(或DocumentRoot的子目录)中的.htaccess文件覆盖。 检查你的php设置是否configuration在那里。
你认为你可以发布完整的服务器configuration吗?
这两个文件的文件名是什么?
我也冒险猜测.htaccess文件在那里,但没有看到其他configuration文件,我们不能肯定地说。