Running Shell Scripts

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • paulhjwu@gmail.com

    Running Shell Scripts

    Hi,

    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: "paulhjwu@gmail .com" <paulhjwu@gmail .com>
    To: gmuldoon <gmuldoon_nospa m@scu.edu.au>
    Date: Wed, 01 Feb 2006 16:55:49 +0000
    Subject: Re: Problem calling a shell script

    gmuldoon wrote:[color=blue]
    > 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 "Environmen t" section.
    >
    > Will compiling PHP as "nobody" instead of root solve or cause other
    > probs?[/color]

    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

Working...