写入文件的php exec python脚本

时间:2014-03-06 07:01:24

标签: php permissions exec file-permissions

我需要执行一个将文件写入同一目录的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'。

提前致谢

2 个答案:

答案 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() 

将删除您不想运行的命令。