Engineering
established 10 years ago

The fine folks building HHVM released version 3.2.0 which I installed on my development box to try out only to find that suddenly I was getting nothing but 404's.

I downgraded to 3.1.0 and once again everything worked.

It took some crawling through the FastCGI code to realize that in 3.2.0 SCRIPT_FILENAME was wrong.

Checking through the changes to the FastCGI code on github I came across this commit:

https://github.com/facebook/hhvm/commit/80638d7e97db40753f7b374010dd78716c717e87

It turns out that in my nginx configuration I was inadvertently pulling in the standard fastcgi_params include file after I set my own values. If NGINX replaced a header if it's redefined or threw some kind of warning, I would have caught this some time ago. Why NGINX doubles up the headers, I don't understand. So I had SCRIPT_FILENAME defined twice and it was getting sent to HHVM twice. In 3.1.0, the first definition was used. In 3.2.0, the second one was used.

Oops.

    You must be a member of this group to post comments.

    Please see the top of the page to join.

    Link Details