虚拟主机未解析 PHP
Virtual Host not parsing PHP
好吧,我已经花了几个小时搜索非常相似的问题,但我似乎仍然没有找到答案:
我已经在 httpd-vhosts.conf
中设置了一个虚拟主机,如下所示
Listen 80
<VirtualHost *:80>
ServerName test.dev
ServerAlias test.dev
DocumentRoot "/Users/OrangeSoda/OneDrive/Projects/Test/Website"
ErrorLog "/private/var/log/apache2/test.dev-error_log"
CustomLog "/private/var/log/apache2/test.dev-access_log" common
<Directory "/Users/OrangeSoda/OneDrive/Projects/Test/Website">
Options all
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
在我的 http.conf
中,我有 Include /private/etc/apache2/extra/httpd-vhosts.conf
以及 LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
未注释。
当我去测试时。dev/index.php 刚好有 <?php echo "PHP TEST"; ?>
,我看到文件输出的内容是一个字符串。
似乎 PHP 未启用,因此未被识别。
如果我转到本地主机,我会看到 "It Works!" 页面,所以我知道 php 正在工作,只是出于某种原因不在我的虚拟主机上。
有人建议放置 php_admin_flag engine on
但这只会让整个页面崩溃。
有人知道为什么这里没有启用 php 吗?
你检查过80端口有没有打开?如果您包括详细的日志,它可能会更有帮助。
您走在正确的轨道上,但您需要实际将 php 加载到虚拟主机上。在 <Directory>
条目上,添加以下行:
<IfModule sapi_apache2.c>
php_admin_flag engine on
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
</IfModule>
我从 here 得到了解决方案。
看来mod-php可能没有安装。 OS 你在看什么?
在 Ubuntu/debian:
sudo apt-get install php5
在红帽上:
sudo yum install php
解决方案是,虽然启用了 php,但出于某种原因,httpd.conf
中的默认设置不是将 .php 文件读取为 .php。
虽然我不太确定为什么这不是默认设置,但我将以下内容添加到我的 httpd.conf
现在它工作正常:
AddType application/x-httpd-php .php
好吧,我已经花了几个小时搜索非常相似的问题,但我似乎仍然没有找到答案:
我已经在 httpd-vhosts.conf
Listen 80
<VirtualHost *:80>
ServerName test.dev
ServerAlias test.dev
DocumentRoot "/Users/OrangeSoda/OneDrive/Projects/Test/Website"
ErrorLog "/private/var/log/apache2/test.dev-error_log"
CustomLog "/private/var/log/apache2/test.dev-access_log" common
<Directory "/Users/OrangeSoda/OneDrive/Projects/Test/Website">
Options all
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
在我的 http.conf
中,我有 Include /private/etc/apache2/extra/httpd-vhosts.conf
以及 LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
未注释。
当我去测试时。dev/index.php 刚好有 <?php echo "PHP TEST"; ?>
,我看到文件输出的内容是一个字符串。
似乎 PHP 未启用,因此未被识别。
如果我转到本地主机,我会看到 "It Works!" 页面,所以我知道 php 正在工作,只是出于某种原因不在我的虚拟主机上。
有人建议放置 php_admin_flag engine on
但这只会让整个页面崩溃。
有人知道为什么这里没有启用 php 吗?
你检查过80端口有没有打开?如果您包括详细的日志,它可能会更有帮助。
您走在正确的轨道上,但您需要实际将 php 加载到虚拟主机上。在 <Directory>
条目上,添加以下行:
<IfModule sapi_apache2.c>
php_admin_flag engine on
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
</IfModule>
我从 here 得到了解决方案。
看来mod-php可能没有安装。 OS 你在看什么?
在 Ubuntu/debian:
sudo apt-get install php5
在红帽上:
sudo yum install php
解决方案是,虽然启用了 php,但出于某种原因,httpd.conf
中的默认设置不是将 .php 文件读取为 .php。
虽然我不太确定为什么这不是默认设置,但我将以下内容添加到我的 httpd.conf
现在它工作正常:
AddType application/x-httpd-php .php