Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php的输出执行python脚本_Php_Python - Fatal编程技术网

使用php的输出执行python脚本

使用php的输出执行python脚本,php,python,Php,Python,执行创建新文件或图像的python脚本是否有任何特殊权限或设置? 这是我的代码: <? function py(){ exec( 'python my_script.py'); echo "ok"; } py(); ?> 运行php时会收到“ok”消息,但不会创建任何文件。我做错了什么?如果要捕获输出,需要调用shell\u exec()notexec(): 设置文件和文件夹的正确权限就成功了 在Mac OS上:Alt+单击“+”,然后搜索www,并向具有读写权

执行创建新文件或图像的python脚本是否有任何特殊权限或设置? 这是我的代码:

<?
function py(){
    exec( 'python my_script.py');
    echo "ok";
}

py();
?>

运行php时会收到“ok”消息,但不会创建任何文件。我做错了什么?

如果要捕获输出,需要调用
shell\u exec()
not
exec()


设置文件和文件夹的正确权限就成功了


在Mac OS上:Alt+单击“+”,然后搜索www,并向具有读写权限的用户添加万维网服务器。根文件夹也是如此。

PHP应由用户
www-user
执行。因此Python脚本将由同一用户启动。
www-user
是否具有执行Python脚本和访问文件系统以创建文件所需的权限?如何检查@albertI从来没有这样做过,因为我不是PHP用户,所以我所说的一切都是基于思想的。首先,您应该找出哪个用户是文件夹的所有者以及要访问的脚本。如果这不是
www-user
,您可以将用户更改为
www-user
,或者将所需用户名传递给
exec
命令,如图所示,以root权限运行php脚本。sudo script.phpposible这个副本更多的是一种调试方式,所以如果我理解正确,它应该是一个注释。我不需要捕获输出,我希望python脚本执行并创建文件。事实上,使用shell_exec()没有效果
#!/usr/bin/python
import sys

f = open('out.txt', 'w')
print >> f, 'thats all'
f.close()