php shell_exec没有权限

时间:2011-12-08 23:33:33

标签: php bash

我使用php脚本调用后端python脚本。

<?php
   error_reporting(-1);
   $output = shell_exec("sh run.sh 2>&1");
   echo "<pre>$output</pre>";
?>

run.sh脚本是:

#!/bin/bash
wget http://markets.usatoday.com/custom/usatoday-com/html-mktscreener.asp
python hw7-9.py index.html
echo "done";

输出

run.sh: wget: not found
run.sh: python: not found
done

如果我从shell正常运行它可以完美地运行。 尝试修复未找到的我做了“哪个wget”并替换完整路径

/afs/cad/sw.common/bin/wget -O index.html http://markets.usatoday.com/custom/usatoday-com/html-mktscreener.asp

我被许可拒绝

1 个答案:

答案 0 :(得分:0)

你的php和shell脚本的权限是什么?

我已成功使用了您正在使用的相同方法。完整的所有权和属性详情如下。

# ls -l
-rw-r--r-- 1 root root 2332 Jan  4 23:07 daily.php
-rwxr-xr-x 1 root root  232 Oct 30 22:43 get_stuff.sh

系统上的用户/群组所有权会有所不同。读/写/执行权限也不必与我的严格匹配。但作为参考,我的设置是通过以下方式实现的:

chmod 644 daily.php
chmod 755 get_stuff.sh
chown root:root *