I have problems running a couple of shell scripts from PHP. I found a
similar
posting, so I posted my question to the original author. But
unfortunately the
original author is not at the address anymore. Anyone can help with the
problems
highlghted below?
Many Thanks,
Paul
---------- Forwarded message ----------
From: "pa******@gmail.com" <pa******@gmail.com>
To: gmuldoon <gm*************@scu.edu.au>
Date: Wed, 01 Feb 2006 16:55:49 +0000
Subject: Re: Problem calling a shell script
gmuldoon wrote:
Help please.
Setup: RH EL3, PHP 4.3.5, Apache 1.3.29 running as user "nobody".
Have a bash script named shell_script.
Telnet to server as user "nobody" ("nobody" having been given /bin/bash
as temp shell), can run this script from command line, no problems.
Created a php script including the line:
system ("/path/to/shell_script");
but get error message in apache error logs:
/bin/bash: /root/.bashrc: Permission denied
Appears that PHP is using root environment rather than "nobody" env?
phpinfo seems to list env vars for root under the "Environment" section.
Will compiling PHP as "nobody" instead of root solve or cause other
probs?
Hi, I have a similar problem now. I am wondering whether you have found
solution to the above. My script looks like the following:
$cmd =
"export JAVA_HOME=/usr/java/jdk1.5.0\n" .
"cd /opt/softwares/archive_system/nutchwax\n" .
"ls -l\n" .
"/bin/sh bin/indexarcs.sh -d
/opt/softwares/archive_system/archive_data/nutch -s
/opt/softwares/archive_system/archive_data/heritrix -n\n" .
"cd /opt/softwares/archive_system/archive_data/nutch\n"
..
"ls -l\n" .
"/bin/sh
/usr/tomcat/jakarta-tomcat-5.5.8/bin/catalina.sh stop\n" .
"/bin/sh
/usr/tomcat/jakarta-tomcat-5.5.8/bin/catalina.sh start\n" ;
$fp = popen($cmd, 'r');
$read = fread($fp, 10240);
flush();
echo $read;
pclose($fp);
However, it seems it would run until the first "ls -l", but it got
stuck on the "/bin/sh bin/indexarcs.sh ..." step. The bin/indexarcs.sh
has around 300 lines of sh commands.
Thanks,
Paul