Apache虚拟主机不parsingPHP

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

我做的第一件事当然是RTM。 我按照这里find的说明。 那么,它的工作 – 种。 至于虚拟主机运行,它呢。 从80开始的内容不同于:8080。

但PHP不工作。 “原始站点”(port 80)运行PHP很棒。 但是,端口8080站点将PHP发送到浏览器。 我在浏览器中看不到任何东西,但源代码显示:

<?php echo "It worked!"; ?> 

这个话题似乎在一些网站上非常松散,但是我找不到解决scheme,或者列出的解决scheme不适合我。

同样,虚拟主机本身运行良好。 另一方面,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> 

我试着在标签里join这个:

 AddHandler php5-script .php AddType text/html .php 

…但无济于事。

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

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

http://www.linuxquestions.org/questions/linux-server-73/php-not-working-on-one-vhost-but-works-on-all-others-851093/

这是解决方案:

<Directory>部分,我包含这些行:

 <Ifmodulee sapi_apache2.c> php_admin_flag engine on </Ifmodulee> <Ifmodulee mod_php5.c> php_admin_flag engine on </Ifmodulee> 

或者,我的服务器上的解决方案的编辑复制/粘贴:

 <Directory "/var/www/vhosts/A2/httpdocs"> <Ifmodulee sapi_apache2.c> php_admin_flag engine on </Ifmodulee> <Ifmodulee mod_php5.c> php_admin_flag engine on </Ifmodulee> (Other configuration parameters) </Directory> 

你的回答对我不起作用。

对于Ubuntu 12.04:

 sudo a2enmod php5 sudo service apache2 restart 

这样做了。

来源: https : //help.ubuntu.com/community/ApacheMySQLPHP

在我的情况下,通过运行apt-get install libapache2-mod-php修复了这个问题。

我将不得不加载一个centos虚拟机来检查Apache的conf,但在Ubuntu上我有更多的信息在我的配置下的virtualHost

  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> 

确保加载php模块的下面一行没有被注释掉 –

 Loadmodulee php5_module libexec/apache2/libphp5.so 

嗨这有助于我解决我的问题:

  root@zxxxx:/home/pxxx/public_html# vi /etc/apache2/mods-enabled/php5.conf # To re-enable PHP in user directories comment the following lines # (from <Ifmodulee ...> to </Ifmodulee>.) Do NOT set it to On as it # prevents .htaccess files from disabling it. <Ifmodulee mod_userdir.c> <Directory /home/*/public_html> ***php_admin_flag engine On*** -> Turn this option ON </Directory> </Ifmodulee> 

对于我的配置,我不得不将这一行添加到虚拟主机(在<Directory> ):

 AddType application/x-httpd-php .php 

这帮助了我a2enmod php5 ,如果模块不存在重新安装灯服务器通过输入apt-get install lamp-server^

唯一的帮助我毕竟尝试添加apache2.conf

 <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>