PHP不能仅在Apache中的单个别名上呈现

时间:2017-09-11 13:44:26

标签: php linux apache

我在httpd.conf文件的末尾设置了以下别名,并且得到了一些意想不到的结果

Entity

导航到URL / simplesaml时,页面加载为白色屏幕,在查看源代码时,页面包含PHP代码。这不会发生在服务器上正确呈现PHP文件的任何其他站点上。

我可以看到服务器正在拾取Alias,因为删除了

body

行,导致403禁止错误。删除AddType / AddHandler行会导致浏览器下载PHP文件。

供参考,网址为http://somethingbig.co.uk/simplesaml/

更新:11/09/17

我通过我们的托管公司提出支持票,得到以下回复

  

我在我们的一个测试服务器上进行了快速测试并复制了相同的配置文件,只是在/ var / simplesamlphp / www中设置了一个简单的index.php,并且能够通过创建别名来复制该问题。我怀疑这与PHP处理程序从CentOS 5/6到7的更改有关,可能需要在配置文件中进行语法更新。我不能自信地知道,但我会更多地了解这一点,为您提供更多信息,希望我们能让您走上正轨!

然后几个小时后我收到了这个回复

  

我们能够解决" somethingbig.co.uk/simplesaml"在浏览器中访问URL时下载。我们通过调整您的httpd.conf文件解决了这个问题。添加了下面的行,并重新启动了Apache。

Entity entity

然而,这实际上并没有修复任何东西,我现在得到一个未指定的输入文件。'错误,当我添加' index.php'时,文件仍会下载到URL的末尾。

更新2:11/09/17

以上确实解决了问题,错误日志显示顶级域名不允许访问该base_dir,一旦更新一切正常。

1 个答案:

答案 0 :(得分:0)

在Centos 7中,需要将以下代码添加到httpd.conf文件中以允许别名正常运行

<Files ~ (\.php$)>
    SetHandler proxy:unix:/var/www/vhosts/system/[domain]/php-fpm.sock|fcgi://127.0.0.1:9000
</Files>

将[domain]替换为您自己的别名域。