Edit report at https://bugs.php.net/bug.php?id=53611&edit=1
ID: 53611
Updated by: fat@php.net
Reported by: jraxis at gmail dot com
Summary: fastcgi_param PHP_VALUE pollutes other sites
-Status: Feedback
+Status: Closed
Type: Bug
Package: FPM related
Operating System: Linux
PHP Version: 5.3.4
Assigned To: fat
Block user comment: N
Private report: N
Previous Comments:
------------------------------------------------------------------------
[2011-01-04 20:30:21] fat@php.net
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php
If you can provide more information, feel free to add it
to this bug and change the status back to "Open".
Thank you for your interest in PHP.
Can you please post your FPM conf ?
------------------------------------------------------------------------
[2010-12-26 00:37:17] jraxis at gmail dot com
Description:
------------
In nginx+FPM, if I set a PHP_VALUE using fastcgi_param in one server, sometimes other virtual hosts
are seeing those settings. An nginx.conf fragment like this:---
server {
server_name foo.example;
root /srv/www/foo.example;
...
location ~ \.php$ {
... # usual PHP stuff
}
}
server {
server_name bar.example;
root /srv/www/bar.example;
...
location ~ \.php$ {
...
fastcgi_param PHP_VALUE "auto_prepend_file=\"/etc/nginx/bar.php\""
}
}
---will occasionally result in foo.example's pages having bar.php prepended to it. The php-fpm
processes are most likely retaining the PHP_VALUE settings as they are re-used by nginx for requests
for other virtual hosts.
This is with PHP/5.3.4 and nginx/0.8.53 on a Gentoo Linux box. ./configure line:---
'./configure' '--prefix=/usr' '--build=i686-pc-linux-gnu'
'--host=i686-pc-linux-gnu' '--mandir=/usr/share/man'
'--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc'
'--localstatedir=/var/lib' '--prefix=/usr/lib/php5.3'
'--mandir=/usr/lib/php5.3/man' '--infodir=/usr/lib/php5.3/info'
'--libdir=/usr/lib/php5.3/lib' '--with-libdir=lib' '--without-pear'
'--disable-maintainer-zts' '--enable-bcmath=shared'
'--with-bz2=shared' '--enable-calendar=shared' '--with-curl=shared'
'--with-curlwrappers' '--without-enchant' '--enable-exif=shared'
'--enable-ftp=shared' '--with-gettext=shared' '--with-gmp=shared'
'--disable-intl' '--without-kerberos' '--enable-mbstring=shared'
'--with-mcrypt=shared' '--without-mssql' '--with-onig=/usr'
'--with-openssl' '--with-openssl-dir=/usr' '--enable-pcntl=shared'
'--without-pgsql' '--without-pspell' '--without-recode'
'--enable-shmop' '--with-snmp=shared' '--enable-soap=shared'
'--enable-sockets=shared' '--without-sybase-ct'
'--enable-sysvmsg=shared' '--enable-sysvsem=shared'
'--enable-sysvshm=shared' '--with-tidy=shared' '--enable-wddx=shared'
'--with-xmlrpc=shared' '--with-xsl=shared' '--enable-zip=shared'
'--with-zlib=shared' '--disable-debug' '--enable-dba=shared'
'--without-cdb' '--with-db4' '--enable-flatfile'
'--with-gdbm' '--enable-inifile' '--without-qdbm'
'--with-freetype-dir=/usr' '--with-t1lib=/usr' '--enable-gd-jis-conv'
'--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--with-xpm-dir=/usr'
'--with-gd' '--with-imap=shared' '--with-imap-ssl'
'--without-interbase' '--with-ldap=shared' '--with-ldap-sasl'
'--with-mysql=shared,/usr' '--with-mysql-sock=/var/run/mysqld/mysqld.sock'
'--with-mysqli=shared,/usr/bin/mysql_config' '--with-unixODBC=shared,/usr'
'--without-adabas' '--without-birdstep' '--without-dbmaker'
'--without-empress' '--without-esoob' '--without-ibm-db2'
'--without-sapdb' '--without-solid' '--without-oci8'
'--without-pdo-dblib' '--with-pdo-mysql=shared,/usr'
'--without-pdo-pgsql' '--with-pdo-sqlite=shared,/usr'
'--with-pdo-odbc=shared,unixODBC,/usr' '--with-readline'
'--without-libedit' '--with-mm' '--with-sqlite=/usr'
'--enable-sqlite-utf8' '--with-pcre-regex=/usr' '--with-pcre-dir=/usr'
'--with-config-file-path=/etc/php/fpm-php5.3'
'--with-config-file-scan-dir=/etc/php/fpm-php5.3/ext-active' '--disable-cli'
'--disable-cgi' '--enable-fpm' '--disable-embed'
'--without-apxs2'
Test script:
---------------
# /srv/www/foo.example/index.php
<?php print "Foo index"; ?>
# /srv/www/bar.example/index.php
<?php print "Bar index"; ?>
# /etc/nginx/bar.php
<?php print "Bar prepend<br/>"; ?>
Expected result:
----------------
# foo.example
Foo index
# bar.example
Bar prepend
Bar index
Actual result:
--------------
# foo.example
Bar prepend
Foo index
# bar.example
Bar prepend
Bar index
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=53611&edit=1