我决定在我的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配置文件中没有启用短标签。
这最终使我走上了正确的道路:
这是解决方案:
在<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>