【问题标题】:Php not working in virtual hostsPhp在虚拟主机中不起作用
【发布时间】:2014-04-05 06:14:20
【问题描述】:

我有一个 CentOS 6 VPS,我在全新安装中安装了 VirtualMin 和 Webmin。我按照这里的演练http://76design.com/provision-webmin-centos/

我有 5 个域需要从该服务器获得服务。我为每个创建了 /home/domain.com/www,然后进入 webmin 并在 Apache Web 服务器中设置了虚拟服务器。我设置了三个域,我可以导航到它们并通过 www 目录中的 index.html 中的不同信息来证明它正在工作。 Html 可以工作,javascript 也可以,但 php 不能,这意味着我无法访问 mysql。

请让我知道我需要做什么才能让 php 在所有虚拟服务器中工作。我在一个域上有 wordpress,另外有 2 个自制站点,我想在另外两个域中有 laravel,所以我需要让它工作。我真的不想回到 ISPConfig 3。

提前致谢。

php -v 的结果

PHP 5.4.25 (cli) (built: Feb 18 2014 14:19:15)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

【问题讨论】:

  • 你能验证 PHP 是否真的安装了吗?
  • 我用 php -v 的结果更新了问题
  • 当你说“php没有”时,究竟是什么意思?您如何测试 php 不起作用?
  • 我导航到包含 php.ini 的页面。 中没有显示任何内容。此外,当我转到 info.php 时,它只是 phpinfo() 它给出了一个白屏。

标签: php centos6 webmin


【解决方案1】:

您需要在 PHP 配置中启用 userdir。

在你的 PHP 配置中找到那一行

<IfModule mod_userdir.c>
  <Directory /home/*/public_html>
    php_admin_value engine Off
  </Directory>
</IfModule>

并修改它以添加另一个Directory 使其看起来像:

<IfModule mod_userdir.c>
  <Directory /home/*/public_html>
    php_admin_value engine Off
  </Directory>
  <Directory /home/*/www>
    php_admin_value engine On
  </Directory>
</IfModule>

这应该会在这些目录中启用 PHP 脚本。

您还需要将/home/*/www 目录的权限设置为755

同时将 PHP 添加到 httpd.conf 中的 Apache 处理程序,例如:

<FilesMatch "\.(htm|html|php)$">
   SetHandler application/x-httpd-php
</FilesMatch>

AddHandler application/x-httpd-php5 .html .htm

【讨论】:

  • 我的 php.conf 文件中没有这些行。我什至无法在 apache 的 php.conf 中找到 php_admin_value。 /etc/httpd/conf.d/php.conf 有没有其他位置可以找?
  • 如果配置文件不存在,您可以将这些行添加到配置文件的末尾。
  • 添加行后需要重启网络服务器。
  • 我做了 service httpd stop 他们 service httpd start.
  • 发送chmod 755 /home/*/www 看看会发生什么。并在您使用时检查日志。
猜你喜欢
  • 2023-03-18
  • 2016-11-01
  • 2013-01-28
  • 1970-01-01
  • 2016-09-29
  • 2018-05-09
  • 1970-01-01
  • 2015-08-30
  • 2015-02-25
相关资源
最近更新 更多