#35544 [Opn->Asn]: pear should ignore safemode/open_basedir
| From: | tony2001@php.net | Date: | Sun, 04 Dec 2005 11:50:41 +0000 |
| Subject: | #35544 [Opn->Asn]: pear should ignore safemode/open_basedir | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-89707@lists.php.net to get a copy of this message | ||
ID: 35544
Updated by: tony2001@php.net
Reported By: jdolecek at netbsd dot org
-Status: Open
+Status: Assigned
Bug Type: Feature/Change Request
Operating System: NetBSD
PHP Version: 5.1.1
-Assigned To:
+Assigned To: cellog
Previous Comments:
------------------------------------------------------------------------
[2005-12-04 12:49:17] jdolecek at netbsd dot org
Description:
------------
If user sets safemode or open_basedir restriction in their php.ini,
they will no longer be able to use pear upgrade etc - the pear call
will end with error.
NetBSD pkgsrc patches pear.sh to use -n to ignore
system php.ini, i.e to exec:
exec $PHP -C -q $INCARG -d output_buffering=1 \
-n $INCDIR/pearcmd.php
This works as long as pear doesn't need any
non-builtin extensions or include path different
to the one compiled into the executable.
FWIW, we had no problem reports about this causing
any problem since the change was introduced (2004/12/12),
so this appears to work fine for all NetBSD pkgsrc
users.
Rather then using -n and ignoring system php.ini
completely, it would be great if CLI PHP either
ignored the open_basedir/safemode setting implicitely
or had a commandline flag to do so (which then would
be used in pear.sh/pear.bat).
Reproduce code:
---------------
Edit php.ini, set open_basedir to /nonexistent.
Then run any pear upgrade from commandline:
> pear upgrade HTML_Common
Expected result:
----------------
downloading HTML_Common-1.2.2.tar ...
Starting to download HTML_Common-1.2.2.tar (-1 bytes)
........done: 20,992 bytes
upgrade ok: channel://pear.php.net/HTML_Common-1.2.2
Actual result:
--------------
Warning: require_once(PEAR.php): failed to open stream: Operation not
permitted in pearcmd.php on line 63
PHP Fatal error: require_once(): Failed opening required 'PEAR.php'
(include_path='/usr/pkg/lib/php') in /usr/pkg/lib/php/pearcmd.php on
line 63
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=35544&edit=1