Home » PEAR » PEAR » Bug #6559
pear should ignore safemode/open_basedir
Details
| Submitted | 2006-01-23 16:27 UTC |
|---|---|
| From | jdolecek at netbsd dot org |
| Assigned | cellog |
| Status | Closed |
| Package | PEAR |
| PHP Version | 5.1.1 |
| OS | NetBSD |
| Roadmaps | (Not assigned) |
Comments
[2006-01-23 16:27 UTC] jdolecek at netbsd dot org
Description:
------------
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
[2006-01-28 19:57 UTC] jdolecek at NetBSD dot org
BTW, it would be cool if the close description would include exact way this has been fixed and reference to specific file and revision of the CVS commit of the fix.
Thanks for fixing it, tho I don't have any way to figure out the change besides checking all CVS logs.