我似乎无法配置HHVM和Apache,它一直给我一个404文件未找到错误。我的网站配置文件保存为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配置,我唯一改变的是我网站的根目录,它完成了上面配置文件中的目录。
有什么想法吗?感谢。
答案 0 :(得分:0)
我知道它已经有两个月了,但也许它可以帮助其他人(我在配置HHVM + Apache2时遇到过类似的问题)。
sudo a2ensite www.example.com
然后使用sudo service apache2 reload
重新加载apache。因此,如果您仍然和我在一起并且前两个步骤没有帮助,请尝试以下操作,尽管在HHVM 3.7中它已经不再适用了(但它可能会如此) ,我只是在配置HHVM时遵循try-and-check方法,它通常可以工作)。打开/etc/hhvm/server.ini
并将以下行附加到该文件:
hhvm.server.fix_path_info = true
更改HHVM的配置后,发出sudo service hhvm restart
。然后尝试刷新您的网站。应该都很好。
我有类似的问题,那时它是我配置为使用HHVM的所有Web服务器上最常见的修复程序。但是,在最新更新之后,我不得不在我的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