ID: 36716 User updated by: schwarz at power-netz dot de Reported By: schwarz at power-netz dot de -Status: Bogus +Status: Open Bug Type: CGI related Operating System: linux 2.4.32 PHP Version: 5.1.2 New Comment:
reconsider it. Previous Comments: ------------------------------------------------------------------------ [2006-03-14 10:16:52] schwarz at power-netz dot de You are right, php4 and 5.0.3 don't seek inside the script dir directly. The Apache sets the current directory to the scripts directory and php4 + 5.0.3 try to open "./php-cgi.ini" which 5.1.2 does not try. Pls see here for the difference: bash-2.04# pwd /home/benderircde/public_html/php5 bash-2.04# cd /home/benderircde/public_html/php5 bash-2.04# strace php5 /home/benderircde/public_html/php5/info.php 2>&1 | grep php5-cgi.ini open("/usr/local/apache/conf//php5-cgi.ini", O_RDONLY) = 3 lstat64("/usr/local/apache/conf/php5-cgi.ini", {st_mode=S_IFREG|0644, st_size=25282, ...}) = 0 <tr><td class="e">Configuration File (php.ini) Path </td><td class="v">/usr/local/apache/conf/php5-cgi.ini </td></tr> bash-2.04# strace php5.0.3 /home/benderircde/public_html/php5/info.php 2>&1 | grep php5-cgi.ini open("./php5-cgi.ini", O_RDONLY) = 3 lstat64("/home/benderircde/public_html/php5/php5-cgi.ini", {st_mode=S_IFREG|0644, st_size=339, ...}) = 0 <tr><td class="e">Configuration File (php.ini) Path </td><td class="v">/home/benderircde/public_html/php5/php5-cgi.ini </td></tr> bash-2.04# strace php /home/benderircde/public_html/php5/info.php 2>&1 | grep php-cgi.ini open("./php-cgi.ini", O_RDONLY) = 3 lstat64("/home/benderircde/public_html/php5/php-cgi.ini", {st_mode=S_IFREG|0644, st_size=339, ...}) = 0 <tr><td class="e">Configuration File (php.ini) Path </td><td class="v">/home/benderircde/public_html/php5/php-cgi.ini </td></tr> bash-2.04# ------------------------------------------------------------------------ [2006-03-14 09:28:07] [EMAIL PROTECTED] PHP4 doesn't behave this way and I doubt PHP5 will do it either, just because putting php.ini into scripts directory doesn't make any sense to me. PHP looks for .ini in TWO directories: the directory where PHP binary is placed and the directory specified with --with-config-file-path option. Also you can use -c option when running PHP binary to specify ini file path. ------------------------------------------------------------------------ [2006-03-14 09:12:52] schwarz at power-netz dot de yes.. where else should the USER php.ini be searched? Just behave like php4 or php5.0.3 :) ------------------------------------------------------------------------ [2006-03-13 19:51:41] [EMAIL PROTECTED] I don't quite understand: you want PHP to look for the ini file in the directory where the script is? ------------------------------------------------------------------------ [2006-03-13 14:19:01] schwarz at power-netz dot de Description: ------------ php 5.1.2 does not search in /home/user/public_html/xxx/ for the php.ini if the script lies i.e. here /home/user/public_html/xxx/script.php Same as bug #33882 from 2005 Notes: We have renamed the php-cgi.ini to php5-cgi.ini to be able to use php4 and php5 on the same system. Source has been changed since 5.0.0 and worked up to/including 5.0.3 without any problems. Expected result: ---------------- bash-2.04# pwd /home/benderircde/public_html bash-2.04# strace php5 /home/benderircde/public_html/php5/info.php 2>&1 | grep php5-cgi.ini open("/home/benderircde/public_html/php5/php5-cgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/local/apache/conf//php5-cgi.ini", O_RDONLY) = 3 lstat64("/usr/local/apache/conf/php5-cgi.ini", {st_mode=S_IFREG|0644, st_size=25282, ...}) = 0 <tr><td class="e">Configuration File (php.ini) Path </td><td class="v">/usr/local/apache/conf/php5-cgi.ini </td></tr> Actual result: -------------- bash-2.04# pwd /home/benderircde/public_html bash-2.04# strace php5 /home/benderircde/public_html/php5/info.php 2>&1 | grep php5-cgi.ini open("/home/benderircde/public_html/php5-cgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/local/apache/conf//php5-cgi.ini", O_RDONLY) = 3 lstat64("/usr/local/apache/conf/php5-cgi.ini", {st_mode=S_IFREG|0644, st_size=25282, ...}) = 0 <tr><td class="e">Configuration File (php.ini) Path </td><td class="v">/usr/local/apache/conf/php5-cgi.ini </td></tr> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=36716&edit=1