好吧,我花了几个小时搜索非常相似的问题,但我似乎还没有找到答案:
我已在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
取消注释。
当我去test.dev/index.php时只有<?php echo "PHP TEST"; ?>
,我看到文件输出的内容是一个字符串。
似乎PHP未启用,因此无法识别。
如果我去localhost,我确实看到&#34;它有效!&#34;页面,所以我知道php正在工作,只是因为某些原因不在我的虚拟主机上。
有人建议放php_admin_flag engine on
,但这会让整个页面崩溃。
有人理解为什么这里没有启用php吗?
答案 0 :(得分:0)
您是否检查过端口80是否已打开?如果您包含详细日志,可能会有所帮助。
答案 1 :(得分:0)
您已经走上正轨,但您需要将php实际加载到虚拟主机上。在<Directory>
条目上,添加以下行:
<IfModule sapi_apache2.c>
php_admin_flag engine on
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
</IfModule>
我从here获得了解决方案。
答案 2 :(得分:0)
看起来好像没有安装mod-php。你在用什么操作系统?
在Ubuntu / debian上:
sudo apt-get install php5
关于redhat:
sudo yum install php
答案 3 :(得分:0)
解决方案是,虽然php已启用,但出于某种原因,httpd.conf
中的默认设置不是将.php文件读为.php。
虽然我不确定为什么这不是默认设置,但我在httpd.conf
添加了以下内容,现在它可以正常工作:
AddType application/x-httpd-php .php