Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 1.10.18

Bug #7196 PEAR crashes when using autoload_prepend_file
Submitted: 2006-03-24 14:07 UTC
From: RQuadling at GMail dot com Assigned: cellog
Status: Closed Package: PEAR (version 1.5.0)
PHP Version: 5_1 CVS-2006-03-24 OS: Windows XP SP2
Roadmaps: (Not assigned)    
Subscription  


 [2006-03-24 14:07 UTC] RQuadling at GMail dot com (Richard Quadling)
Description: ------------ I've just started using an autoload file and have set the PHP-CLI.INI/PHP-ISAPI.INI setting of auto_prepend_file The include path in the ini files contains ... include_path="C:\PEAR\pear\;.\;D:\Data\PHP\Includes\" The autoload.inc is in D:\Data\PHP\Includes\. At the command prompt, if I type PEAR[ENTER] I get ... Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0 Warning: Unknown: Failed opening 'auto_loader.php' for inclusion (include_path='C:\PEAR\PEAR') in Unknown on line 0 In looking at the pear.bat file, I put an echo in front of the run line and then re-ran pear.bat and got ... "C:\PHP5\php.exe" -C -d output_buffering=1 -d safe_mode=0 -d open_basedir="" -d include_path="C:\PEAR\PEAR" -f "C:\PEAR\PEAR\pearcmd.php" -- This is the issue. The include path has been amended to NOT include the directory for my include files. No problem with that. I would recommend that adding -d auto_prepend_file= to the run line ... :RUN "%PHP_PEAR_PHP_BIN%" -C -d output_buffering=1 -d safe_mode=0 -d open_basedir="" -d auto_prepend_file= -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9 :END would alleviate this problem. The following patch should achieve this. Index: pear.bat =================================================================== RCS file: /repository/pear-core/scripts/pear.bat,v retrieving revision 1.24 diff -u -r1.24 pear.bat --- pear.bat 23 Jan 2006 16:30:14 -0000 1.24 +++ pear.bat 24 Mar 2006 14:05:40 -0000 @@ -110,6 +110,6 @@ ECHO %PHP_PEAR_PHP_BIN% GOTO END :RUN -"%PHP_PEAR_PHP_BIN%" -C -d output_buffering=1 -d safe_mode=0 -d open_basedir="" -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9 +"%PHP_PEAR_PHP_BIN%" -C -d output_buffering=1 -d safe_mode=0 -d open_basedir="" -d auto_prepend_file= -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9 :END @ECHO ON \ No newline at end of file

Comments

 [2006-03-24 14:09 UTC] RQuadling at GMail dot com
Oh. Cutting and pasting the patch has made a mess. Basically adding -d auto_prepend_file= is needed to not use any autoloading.
 [2006-03-25 21:16 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!
 [2006-03-27 07:39 UTC] RQuadling at GMail dot com
Dozy me! If PEAR is going to crash with auto_prepend_file, PEAR will also crash with auto_append_file! -d auto_append_file="" also needed. P.S. Sorry for re-opening the bug. Patch for pear.bat / pear.sh / peardev.bat / peardev.sh Index: pear.bat =================================================================== RCS file: /repository/pear-core/scripts/pear.bat,v retrieving revision 1.25 diff -u -r1.25 pear.bat --- pear.bat 25 Mar 2006 21:15:29 -0000 1.25 +++ pear.bat 27 Mar 2006 07:36:29 -0000 @@ -110,6 +110,6 @@ ECHO %PHP_PEAR_PHP_BIN% GOTO END :RUN -"%PHP_PEAR_PHP_BIN%" -C -d output_buffering=1 -d safe_mode=0 -d open_basedir="" -d auto_prepend_file="" -d register_argc_argv="On" -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9 +"%PHP_PEAR_PHP_BIN%" -C -d output_buffering=1 -d safe_mode=0 -d open_basedir="" -d auto_prepend_file="" -d auto_append_file="" -d register_argc_argv="On" -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9 :END @ECHO ON \ No newline at end of file Index: pear.sh =================================================================== RCS file: /repository/pear-core/scripts/pear.sh,v retrieving revision 1.5 diff -u -r1.5 pear.sh --- pear.sh 25 Mar 2006 21:15:29 -0000 1.5 +++ pear.sh 27 Mar 2006 07:36:29 -0000 @@ -25,4 +25,4 @@ fi fi -exec $PHP -C -q $INCARG -d output_buffering=1 -d open_basedir="" -d safe_mode=0 -d register_argc_argv="On" -d auto_prepend_file="" $INCDIR/pearcmd.php "$@" +exec $PHP -C -q $INCARG -d output_buffering=1 -d open_basedir="" -d safe_mode=0 -d register_argc_argv="On" -d auto_prepend_file="" -d auto_append_file="" $INCDIR/pearcmd.php "$@" Index: peardev.bat =================================================================== RCS file: /repository/pear-core/scripts/peardev.bat,v retrieving revision 1.4 diff -u -r1.4 peardev.bat --- peardev.bat 25 Mar 2006 21:15:29 -0000 1.4 +++ peardev.bat 27 Mar 2006 07:36:29 -0000 @@ -110,6 +110,6 @@ ECHO %PHP_PEAR_PHP_BIN% GOTO END :RUN -"%PHP_PEAR_PHP_BIN%" -C -d memory_limit="-1" -d safe_mode=0 -d register_argc_argv="On" -d auto_prepend_file="" -d open_basedir="" -d output_buffering=1 -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9 +"%PHP_PEAR_PHP_BIN%" -C -d memory_limit="-1" -d safe_mode=0 -d register_argc_argv="On" -d auto_prepend_file="" -d auto_append_file="" -d open_basedir="" -d output_buffering=1 -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9 :END @ECHO ON \ No newline at end of file Index: peardev.sh =================================================================== RCS file: /repository/pear-core/scripts/peardev.sh,v retrieving revision 1.4 diff -u -r1.4 peardev.sh --- peardev.sh 25 Mar 2006 21:15:29 -0000 1.4 +++ peardev.sh 27 Mar 2006 07:36:29 -0000 @@ -25,4 +25,4 @@ fi fi -exec $PHP -d memory_limit="-1" -C -q $INCARG -d output_buffering=1 -d open_basedir="" -d safe_mode=0 -d register_argc_argv="On" -d auto_prepend_file="" $INCDIR/pearcmd.php "$@" +exec $PHP -d memory_limit="-1" -C -q $INCARG -d output_buffering=1 -d open_basedir="" -d safe_mode=0 -d register_argc_argv="On" -d auto_prepend_file="" -d auto_append_file="" $INCDIR/pearcmd.php "$@" Is this the best way to submit patches for bugs? As an aside, the pecl.bat / pecl.sh use PHP -n ... no php.ini file. Could this be appropriate for PEAR? Save having to add all these -d's?
 [2006-03-27 21:17 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!