虚拟主机未解析PHP
好吧,我花了几个小时搜索非常相似的问题,但我似乎仍然没有找到答案: 我在我的虚拟主机未解析PHP,php,apache,virtualhost,Php,Apache,Virtualhost,好吧,我花了几个小时搜索非常相似的问题,但我似乎仍然没有找到答案: 我在我的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/te
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>
听80
ServerName test.dev
ServerAlias test.dev
DocumentRoot“/用户/OrangeSoda/OneDrive/Projects/Test/Website”
ErrorLog“/private/var/log/apache2/test.dev-error\u log”
CustomLog“/private/var/log/apache2/test.dev-access_log”通用
选项全部
允许超越所有
要求所有授权
在我的http.conf
中,我有Include/private/etc/apache2/extra/httpd vhost.conf
以及LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
未注释
当我转到test.dev/index.php,它只有
,我看到文件输出的内容是一个字符串
似乎PHP未启用,因此未被识别
如果我转到localhost,我确实会看到“It Works!”页面,因此我知道php正在工作,只是出于某种原因,它不在我的虚拟主机上
有人建议将php\u admin\u标志引擎置于上,但这只会使整个页面崩溃
有人知道为什么这里不启用php吗?您是否检查了端口80是否已打开?如果您包含详细的日志,可能会有更大帮助。您的思路是正确的,但您需要将php实际加载到虚拟主机上。在
条目中,添加以下行:
<IfModule sapi_apache2.c>
php_admin_flag engine on
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
</IfModule>
php_admin_标志引擎打开
php_admin_标志引擎打开
我从中获得了解决方案。看起来可能没有安装mod php。你在用什么操作系统
在Ubuntu/debian上:
sudo apt-get install php5
关于redhat:
sudo yum install php
解决方案是,虽然启用了php,但由于某种原因,httpd.conf
中的默认设置不是将.php文件作为.php读取
虽然我不确定为什么这不是默认设置,但我在我的httpd.conf
中添加了以下内容,现在它工作正常:
AddType application/x-httpd-php .php
那么apache中的php模块在哪里加载?可能它只是在每个目录或每个vhost的基础上启用的。当您在命令行中使用php-v
时,您会得到什么?我知道端口已打开,因为我可以在虚拟主机上查看html页面,javascript也可以工作,只是php没有被呈现