|
|

10-01-2012, 11:41 AM
|
|
Member
|
|
Join Date: Jul 2012
Posts: 23
|
|
php and exec
a quick question, maybe already answered but I couldn't find anything yet, so please excuse me 
I'm using cPanel + LiteSpeed, and for example, I have the following code on a php script:
PHP Code:
<?php
echo ":: ".`which convert`;
?>
Which should come up with the full path of convert (part of imagemagick), however is returning empty, now if I do the same from the user's shell by executing the php: "sudo -u user php -f file.php" y do get the right path.
Another funny thing is, if instead I use `which --help` it works in both and actually "convert" does work without problems, so I'm kinda confused here 
|

10-01-2012, 11:51 AM
|
|
LiteSpeed Staff
|
|
Join Date: May 2003
Location: New Jersey
Posts: 7,590
|
|
|
You can set "PATH=...." in lsphp5 "Environment" configuration.
|

10-01-2012, 03:13 PM
|
|
Member
|
|
Join Date: Jul 2012
Posts: 23
|
|
Quote:
Originally Posted by mistwang
You can set "PATH=...." in lsphp5 "Environment" configuration.
|
Not sure if the issue is there, let me go deeper and show you with a small php script I did to print stuff over LiteSpeed:
PHP Code:
<?php
// no big deal, it will just execute things and print them nice
out("echo \$PATH");
out("ls /usr/bin/which");
out("ls /usr/bin/convert");
out("/usr/bin/which --version");
out("/usr/bin/convert --version");
out("/usr/bin/which convert");
function out($cmd) {
$out = trim(`$cmd`);
echo ":: [$cmd]\n\t$out\n\n";
}
?>
This was the result:
Code:
:: [echo $PATH]
/usr/local/bin:/bin:/usr/bin
:: [ls /usr/bin/which]
/usr/bin/which
:: [ls /usr/bin/convert]
/usr/bin/convert
:: [/usr/bin/which --version]
GNU which v2.19, Copyright (C) 1999 - 2008 Carlo Wood.
GNU which comes with ABSOLUTELY NO WARRANTY;
This program is free software; your freedom to use, change
and distribute this program is protected by the GPL.
:: [/usr/bin/convert --version]
Version: ImageMagick 6.7.1-7 2012-09-15 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: OpenMP
:: [/usr/bin/which convert]
(***EMPTY***)
I hope this helps, as some Gallery scripts try to "autodetect" some binaries but the problem here is that "which" is not giving the right path.
|

10-02-2012, 11:23 PM
|
|
LiteSpeed Staff
|
|
Join Date: Sep 2009
Posts: 2,218
|
|
my local test not empty, show " /usr/bin/convert" correctly:
Quote:
:: [echo $PATH]
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
:: [ls /usr/bin/which]
/usr/bin/which
:: [ls /usr/bin/convert]
/usr/bin/convert
:: [/usr/bin/which --version]
GNU which v2.16, Copyright (C) 1999 - 2003 Carlo Wood.
GNU which comes with ABSOLUTELY NO WARRANTY;
This program is free software; your freedom to use, change
and distribute this program is protected by the GPL.
:: [/usr/bin/convert --version]
Version: ImageMagick 6.2.8 02/22/12 Q16 file:/usr/share/ImageMagick-6.2.8/doc/index.html
Copyright: Copyright (C) 1999-2006 ImageMagick Studio LLC
:: [/usr/bin/which convert]
/usr/bin/convert
|
|

10-03-2012, 09:16 AM
|
|
Member
|
|
Join Date: Jul 2012
Posts: 23
|
|
Quote:
Originally Posted by NiteWave
my local test not empty, show " /usr/bin/convert" correctly:
|
I guess you're testing it as root, how about using a non privileged user?
Thanks for the updates guys 
|

10-03-2012, 08:54 PM
|
|
LiteSpeed Staff
|
|
Join Date: Sep 2009
Posts: 2,218
|
|
|
tested with root, also tested with nobody
access it through browser, it runs under lsphp5 user -- nobody.
you can add
out("id");
to confirm it.
|
| Thread Tools |
|
|
| Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 02:20 PM.
|
|