我需要执行一个将文件写入同一目录的python脚本。
test.py:
print 'Hi! I was executed'
test2.py:
filename = 'sample.txt'
target = open(filename,'a')
target.write("Something Something")
target.close()
Php脚本:
<?
exec('python test.py',$output1,$ret1);
exec('python test2.py',$output2,$ret2);
?>
第一个exec工作正常,但第二个脚本没有,返回var $ ret2是1。 这两个命令在终端中都能很好地工作。我想这是一个权限问题,因为php脚本被执行为'nobody'。
提前致谢
答案 0 :(得分:0)
尝试为filename = 'sample.txt'
例如
filename = '/home/pranjal/sample.txt'
答案 1 :(得分:0)
我会考虑使用COM:
<?php
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("[Your command here]", 0, false);
?>
请注意,这不会影响在Linux服务器上运行的奇迹。
另外请考虑您允许脚本执行代码,请确保它在需要时全部安全:)
escapeshellarg()
escapeshellcmd()
将删除您不想运行的命令。