The original complaint in bug 20887 was that the CLI version was picking
up ini files in the wrong places.  The patch I suggested last night does
address that problem (albiet not correctly, see below).

The secondary "bug" which isn't really a bug is the complaint that CWD is
included in the ini search path.  While that *should* be suspended as the
arguments for keeping "." in the search path for non-CLI sapis is valid.
It really has nothing to do with the issues in bug 20887.

The problem with the double forward slash is trivial and doesn't cause a
real issue, the problem I mentioned above is with php being launched
without a path (without even ./)

If PHP is launched directly from the command line a la:
mybox:~$ php -f myscript.php

the system checks the PATH variable to find an executable and run PHP.
When php_ini.c runs, it finds a 'binary_location' of "php" (inaccurate!
Our CWD is ~ and ~/php does not exist)  Neither my patch nor Moriyoshi's
fixes this.


If PHP is launched via a script's pound-bang declaration a la:
mybox:/usr/local/bin$ ./myscript.php

--- /usr/local/bin/myscript.php (filemode 755)
#!php
<?php
  echo 'foo';
?>

The shell (bash in the case of my tests) only looks for php in the CWD, If
it finds one then it'll run and php_ini.c will show a binary_location of
'php' (correct in this instance, since /usr/local/bin/php does exist and
is our executable).  The current code in php_ini.c however, will try to
look for the php.ini in 'php/php.ini' Ooops! (Both my patch and
Moriyoshi's approach solves this one)

In the former instance, ./php.ini shold not be scanned for CLI sapi,
/usr/local/bin/php should be scanned instead except that we can't find it.
(that's the whole discussion about not icluding '.' in the search path for
CLI)

In the latter instance, ./php.ini SHOULD be scanned for the CLI sapi as
that is indeed where the binary is located.

-Pollita






-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to