502 Bad Gateway once running php on command line

I have just installed:

  • FreeBSD 10.2
  • Nginx 1.8.1
  • PHP 5.5.33

Nginx works fine with PHP that the web sites seems ok to run php pages.
However, once I run php on command line (e.g. php -v), the web site will
“502 Bad Gateway” error, and I find the nginx error log as below:

[error] 714#0: *3 upstream prematurely closed connection while reading
response header from
upstream, client: , server: www.____.com, request: “GET /
upstream: “fastcgi://unix:/
var/run/php5-fpm.sock:”, host: "

I have tried to use either sock or port, but the problem still exist…
idea about what’s wrong? thanks.

“php -v” shows below:
PHP 5.5.33 (cli) (built: Mar 15 2016 01:22:17)
Copyright © 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright © 1998-2015 Zend Technologies
with XCache v3.2.0, Copyright © 2005-2014, by mOo
with Zend OPcache v7.0.6-dev, Copyright © 1999-2015, by Zend
with XCache Cacher v3.2.0, Copyright © 2005-2014, by mOo

Posted at Nginx Forum:


What is the exact call you’re trying to do?

  • Lucas

hi, on command line, when I type: php


php -v

after pressing [Enter] key, then the “502 Bad Gateway” will occur at

It is very strange, because I always think php command line should not
affect the php-fpm…

Posted at Nginx Forum:

Eventually I find what went wrong, it should be caused by both Zend
and XCache are installed, they may conflict each other in this case,
I’ve removed the XCache, it works fine, the php command line would no
cause the php-fpm error.

XCache should be unnecessary when OPcache is running.

Posted at Nginx Forum:

yes, agree.

Thanks Lucas.

Posted at Nginx Forum:

When issuing php directly from the command-line, you don’t even go
through nginx.
php from the command-line relies on the php-cli which isn’t talking to
your nginx process nor php-fpm.