HHVM WSOD(白屏),某些页面没有错误
HHVM WSOD (white screen), no errors for SOME pages
我已经尝试在 Debian 上从 Apache + cli_php 迁移到 NGINX+HHVM(3.8)。
问题是 HHVM 无法加载一些包含 (/var/www/site/inc/inc.php).
/var/www/site/index.php
/inc/inc.php
浏览器错误是 502 Bad Gateway。
我尝试在 server.ini
中设置这些选项,但没有成功。有什么意义吗?
hhvm.sandbox.directories_root = /
hhvm.source_root = /
hhvm.sandbox.home = /
hhvm.server.always_use_relative_path = false
nginx:
server {
server_name localhost;
root /var/www/site;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
include hhvm.conf; #standard 3.8
}
此外,我在错误消息中是否正确提到 HHVM 在实际站点根目录之前删除了包含路径的第一部分?
问题出在 DOS 结束符上。看起来 HHVM 没有正确解释它。在浏览器中,您收到 502 Bad Gateway 错误,但终端 hhvm 错误是 file not found
。同样奇怪——如果包含文件中有回显输出——问题就消失了。
所以我用dos2unix转换包含的文件,问题就解决了。
要找出所有 php 文件并将其转换为 unix 样式,运行 在站点的根目录中:
apt-get install dos2unix
find . -name "*.php" -exec dos2unix {} \;
我已经尝试在 Debian 上从 Apache + cli_php 迁移到 NGINX+HHVM(3.8)。 问题是 HHVM 无法加载一些包含 (/var/www/site/inc/inc.php).
/var/www/site/index.php
/inc/inc.php
浏览器错误是 502 Bad Gateway。
我尝试在 server.ini
中设置这些选项,但没有成功。有什么意义吗?
hhvm.sandbox.directories_root = /
hhvm.source_root = /
hhvm.sandbox.home = /
hhvm.server.always_use_relative_path = false
nginx:
server {
server_name localhost;
root /var/www/site;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
include hhvm.conf; #standard 3.8
}
此外,我在错误消息中是否正确提到 HHVM 在实际站点根目录之前删除了包含路径的第一部分?
问题出在 DOS 结束符上。看起来 HHVM 没有正确解释它。在浏览器中,您收到 502 Bad Gateway 错误,但终端 hhvm 错误是 file not found
。同样奇怪——如果包含文件中有回显输出——问题就消失了。
所以我用dos2unix转换包含的文件,问题就解决了。
要找出所有 php 文件并将其转换为 unix 样式,运行 在站点的根目录中:
apt-get install dos2unix
find . -name "*.php" -exec dos2unix {} \;