Python部分脚本不是从网页开始的

时间:2012-08-22 15:04:36

标签: php python shell webpage

我在linux NAS上有一个网页,运行webserver和php。 我想从de server启动脚本,将数据写入数据库。

当我在new69.php(相关网站)时 我有 例如:

$uptime = exec('uptime');echo $uptime; (这有效)

所以我有联系。

然后我用if语句:

if (isset($_POST['verzenden'])) {
 $output1 = exec('whoami');
 exec('/share/MD0_DATA/Qweb/sqlite/AllesNaardDB.sh');
 } else {

    echo "Nog lekker niets gedaan.";
statememt中的

Whoami给出用户名“httpdusr”, 所以if语句已经达到并且有效。

现在我执行的exec语句:

必须执行AllesNaardDB.sh 其中包含:

cd /share/MD0_DATA/Qweb/sqlite
echo "Wasmachine"
python2.6 wasm_util_sql.py [param]
echo "alles gegeven"
exit 0

没有显示或完成任何内容。

但是当我这样做时:

$output = exec('/share/MD0_DATA/Qweb/AllesNaardDB.sh');
echo "<pre> $output </pre>";

我在变量$ output中得到了脚本的als行, “alles gegeven”

起初我认为它可能与权利有关。 所以我(切换用户)su到“httpdusr”和putty中的脚本被执行得很好。

我还用“ls -l”创建了另一个脚本ff.sh来执行,一切正常。 我也很狂热 中继() 系统(), 了shell_exec。 唯一的改进是使用system()和passthru(),“echo”Wasmachine“” 出现在te网站上。

我不明白为什么python作业没有开始?

我进一步工作了,但可能是因为有一些sqlite3命令是用户依赖的吗?

就像我可以以admin身份对数据库执行一些写操作,但不能像httpdusr那样执行?

2 个答案:

答案 0 :(得分:0)

尝试将#!/bin/sh添加到脚本的顶部,并确保它是chmod a+x

答案 1 :(得分:0)

这是一个在python脚本中有一个路径的问题,它正在写入数据库。 它从网页(MD0_DATA / Qweb /)启动时使用不同的路径,然后从shell脚本(MD0_DATA / Qweb / sqlite)启动它

*我还没有解决问题,但要理解它。 大家都感谢你的努力。