如果来自 php 的调用,python 不会写入
python doesn't write if call from php
我有一个 python 脚本 writetest.py,其中包含以下内容:
print "mark1"
with open("/testfile.txt", "a") as myfile:
myfile.write("Hello World")
print "mark2"
当我调用 shell 中的脚本时,它起作用并添加了 "Hello World" 和 testfile.txt。当我使用 php exec 命令调用它时,它不会写:
exec('python writetest.py', $output, $return_var);
print_r($output);
print_r($return_var);
打印:
Array ( [0] => mark1 )
1
我的 python 脚本运行但在打开代码处停止。
我认为您的代码中存在引用问题
exec('python writetest.py")
解决该问题后,请重试。
如果还是不行我建议
exec('python writetest.py', $output , $return_var)
参见:http://php.net/manual/en/function.exec.php
然后通过 print_r 打印输出和 return_var 用于调试
print_r($output);
print_r($return_var);
正如艾恩伯所指出的,这是一个权限问题。我给了网络服务器用户写入权限并且它起作用了
我有一个 python 脚本 writetest.py,其中包含以下内容:
print "mark1"
with open("/testfile.txt", "a") as myfile:
myfile.write("Hello World")
print "mark2"
当我调用 shell 中的脚本时,它起作用并添加了 "Hello World" 和 testfile.txt。当我使用 php exec 命令调用它时,它不会写:
exec('python writetest.py', $output, $return_var);
print_r($output);
print_r($return_var);
打印:
Array ( [0] => mark1 )
1
我的 python 脚本运行但在打开代码处停止。
我认为您的代码中存在引用问题
exec('python writetest.py")
解决该问题后,请重试。 如果还是不行我建议
exec('python writetest.py', $output , $return_var)
参见:http://php.net/manual/en/function.exec.php
然后通过 print_r 打印输出和 return_var 用于调试
print_r($output);
print_r($return_var);
正如艾恩伯所指出的,这是一个权限问题。我给了网络服务器用户写入权限并且它起作用了