使用 Apache 2.4 配置 HHVM 3.7 会给我一个 404?
Posted
技术标签:
【中文标题】使用 Apache 2.4 配置 HHVM 3.7 会给我一个 404?【英文标题】:Configuring HHVM 3.7 with Apache 2.4 gives me a 404? 【发布时间】:2015-07-08 19:00:31 【问题描述】:我似乎无法配置 HHVM 和 Apache,它一直给我一个 404 file not found 错误。我的网站配置文件保存为www.example.com.conf
,它包含:
<VirtualHost *:80>
ServerName website.com
ServerAdmin mail@website.com
DocumentRoot /var/www/website.com/public_html/
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/website.com.com/public_html/$1
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>
请注意,我删除了我的实际网站名称,但它是针对子域的,所以它是:subdomain.xyz.com
。我已经尝试查找如何解决此问题,但是我尝试过的任何方法似乎都不起作用;甚至人们在官方存储库上发布的 GitHub 问题似乎也不起作用。我也没有更改默认的 apache 配置,我唯一更改的是我网站的根目录,它与上面配置文件中的目录有很大关系。
有什么想法吗?谢谢。
【问题讨论】:
apache是否正确加载了vhost? apachectl -S 应该列出所有加载的虚拟主机。一般调试过程是: 1. 检查 vhost 是否可用 2. 检查 apache error_log 3. 检查 vhost error_log 文件(在您的情况下,您似乎决定将其合并到“常见”error_log 中) 【参考方案1】:我知道已经两个月了,但也许它可以帮助其他人(我在配置 HHVM + Apache2 时多次出现类似问题)。
-
如果您还没有启用虚拟主机,请尝试启用。发出
sudo a2ensite www.example.com
并随后使用 sudo service apache2 reload
重新加载 apache。
如果 vhost 正常,并且您的浏览器请求在 vhost 访问日志中可见,则意味着罪魁祸首不是 Apache2。
因此,如果您仍然和我在一起并且前两个步骤没有帮助,请尝试以下操作,尽管在 HHVM 3.7 中不应该再出现这种情况(但它可能,我只是按照 try-and-配置 HHVM 时的 check 方法,通常有效)。打开 /etc/hhvm/server.ini
并将以下行附加到该文件:
hhvm.server.fix_path_info = true
更改 HHVM 的配置后,发出 sudo service hhvm restart
。然后尝试刷新您的网站。应该没问题的。
我有类似的问题,当时它是我配置为与 HHVM 一起使用的所有网络服务器上最常见的修复。但是,在最新的更新之后,我不得不从我的 hhvm server.ini 中注释掉那一行,以便我的代码能够正常工作——我读到他们以某种方式改变了服务器的参数,并且这个参数不再有用了,AFAIK。
我也尝试将该行放在/etc/hhvm/php.ini
,但据我记得,它应该放在server.ini
,因为它是一个服务器参数。
所以。试试看,如果有帮助,请告诉我。如果没有,请在您的网络服务器上发出以下命令并将输出粘贴到此处,以便我查看您是否安装了必要的模块
ls /etc/apache2/mods-available | grep -E 'proxy|alias|fcgi|hhvm'
ls /etc/apache2/mods-enabled | grep -E 'proxy|alias|fcgi|hhvm'
哦,请附上您的完整 HHVM 和 Apache2 版本输出:
hhvm --version
apache2 -v
【讨论】:
以上是关于使用 Apache 2.4 配置 HHVM 3.7 会给我一个 404?的主要内容,如果未能解决你的问题,请参考以下文章
apache_conf 适用于Amazon EC2的HHVM t1.micro
MacOS Sierra:apachectl 正在使用来自 /usr/local/etc/apache2/2.4 而不是 /etc/apache2/ 的配置