我决定在我的Apache服务器上启用虚拟主机,并选择使其基于端口.
当然,我做的第一件事就是RTM.我按照这里的说明进行操作.嗯,它有效 - 有点.就虚拟主机运行而言,确实如此.拉出的内容:80不同于:8080.
但是PHP没有用."原始站点"(端口80)运行PHP非常棒.但是,端口8080站点将PHP发送到浏览器.我在浏览器中看不到任何内容,但源代码显示:
<?php
echo "It worked!";
?>
Run Code Online (Sandbox Code Playgroud)
这个主题似乎在一些网站上非常松散地记录,但要么我找不到解决方案,要么列出的解决方案对我不起作用.
同样,虚拟主机本身运行正常.另一方面,PHP不是.
关于它可能是什么的任何想法?我应该提供哪些来自我的httpd.conf文件的内容,所以我不会通过复制/粘贴整个事情来解决我的问题?
(对不起,我忘了发帖说我有这些,菲尔.加上以避免进一步混淆)
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>
Run Code Online (Sandbox Code Playgroud)
我尝试在标签内添加:
AddHandler php5-script .php
AddType text/html .php
Run Code Online (Sandbox Code Playgroud)
......但无济于事.
use*_*581 18
这最终让我走上了正确的道路:
这是解决方案:
在本<Directory>节中,我包括以下几行:
<IfModule sapi_apache2.c>
php_admin_flag engine on
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
</IfModule>
Run Code Online (Sandbox Code Playgroud)
或者,在我的服务器上对解决方案进行编辑的复制/粘贴:
<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>
Run Code Online (Sandbox Code Playgroud)
你的回答对我不起作用.
对于Ubuntu 12.04:
sudo a2enmod php5
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
这样做了.
来源:https://help.ubuntu.com/community/ApacheMySQLPHP