[php-maint] Bug#574000: Bug#574000: php5-cgi: When php run as fcgi, it tries to read system config file 'php-cgi-fcgi.ini' instead of 'php.ini'

Eiichiro ITANI emu at ceres.dti.ne.jp
Tue Mar 16 04:09:04 UTC 2010


Ondřej Surý <ondrej at debian.org> writes:

> strace under clean system looks like this:
>
> open("./php-cgi-fcgi.ini", O_RDONLY)    = -1 ENOENT (No such file or directory)
> open("/usr/bin/php-cgi-fcgi.ini", O_RDONLY) = -1 ENOENT (No such file
> or directory)
> open("/etc/php5/cgi/php-cgi-fcgi.ini", O_RDONLY) = -1 ENOENT (No such
> file or directory)
> open("./php.ini", O_RDONLY)             = -1 ENOENT (No such file or directory)
> open("/usr/bin/php.ini", O_RDONLY)      = -1 ENOENT (No such file or directory)
> open("/etc/php5/cgi/php.ini", O_RDONLY) = 3
> lstat("/etc/php5/cgi/php.ini", {st_mode=S_IFREG|0644, st_size=67459, ...}) = 0
> lstat("/etc/php5/cgi", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> lstat("/etc/php5", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> lstat("/etc", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0

> I believe there is something hidden inside this script. Could you
> provide more info on your fcgi configuration?

Oops, I'm very sorry.  I have put small php.ini in fcgi-script
directory, to override system default.  After I removed './php.ini'
file, strace output become exactly same as above, and no more 'no input
file specified' error.

But before upgrading, fcgi php5 was working with no problems even when
'./php.ini' could be read.  After upgrade, php5 stop seeking for php.ini
once it finds one in current directory.

Is that wrong to put php.ini in script dircetory?  If so, could you
close this bug, please.

Anyway, now this is strace of php5.

$ ls -l /etc/php5/cgi/*.ini
-rw-r--r-- 1 root root 69333 2010-03-15 21:51 /etc/php5/cgi/php.ini

$ ls -l fcgi-bin/
-rw-rw-r-- 1 user group   70 2010-03-15 21:29 php.ini
lrwxrwxrwx 1 user group   19 2010-03-16 12:45 php5 -> php5.strace_wrapper*
lrwxrwxrwx 1 user group   17 2009-02-19 19:42 php5.real -> /usr/bin/php5-cgi*
-rwxrwxr-x 1 user group   58 2010-03-15 22:04 php5.strace_wrapper*

$ cat fcgi-bin/php5.strace_wrapper 
#!/bin/sh
exec strace ./php5.real $* 2>> /tmp/php5.strace

$ grep open /tmp/php5.strace
...<snip>...
open("./php-cgi-fcgi.ini", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/usr/bin/php-cgi-fcgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/php5/cgi/php-cgi-fcgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./php.ini", O_RDONLY)             = 3
open("/etc/php5/cgi/conf.d", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/etc/php5/cgi/conf.d/gd.ini", O_RDONLY) = 3
open("/etc/php5/cgi/conf.d/mysql.ini", O_RDONLY) = 3
open("/etc/php5/cgi/conf.d/mysqli.ini", O_RDONLY) = 3
open("/etc/php5/cgi/conf.d/pdo.ini", O_RDONLY) = 3
open("/etc/php5/cgi/conf.d/pdo_mysql.ini", O_RDONLY) = 3
open("/etc/php5/cgi/conf.d/pdo_pgsql.ini", O_RDONLY) = 3
open("/etc/php5/cgi/conf.d/pdo_sqlite.ini", O_RDONLY) = 3
open("/etc/php5/cgi/conf.d/pgsql.ini", O_RDONLY) = 3
open("/etc/php5/cgi/conf.d/sqlite.ini", O_RDONLY) = 3
open("/etc/php5/cgi/conf.d/sqlite3.ini", O_RDONLY) = 3
open("/etc/php5/cgi/conf.d/suhosin.ini", O_RDONLY) = 3
open("/usr/lib/php5/20090626/gd.so", O_RDONLY) = 3
...<snip>...





More information about the pkg-php-maint mailing list