繁体   English   中英

从 Python 获取由 PHP 执行的输出

Getting an output from Python that gets executed by PHP

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

所以我的问题是我有一个运行 Ubuntu 服务器 18.04 和 Apache2 的 AWS EC2 实例,当按下按钮时,它会发布一些变量,这些变量会传递给一个函数,然后该函数使用 shell_exec() 来执行 Python 脚本。 然后 Python 脚本将这些变量(方向和角度)作为命令行参数,然后尝试写入一个名为 cmds.txt 的文件。 但是,在执行此操作时,我收到此错误报告给我:

    Traceback (most recent call last):
  File "/home/server/cmdWriter.py", line 45, in 
    main()
  File "/home/server/cmdWriter.py", line 41, in main
    servoCmds(direction, angle)
  File "/home/server/cmdWriter.py", line 28, in servoCmds
    cmdFile = open("cmds.txt", "a")
PermissionError: [Errno 13] Permission denied: 'cmds.txt'

经过一番查找,我认为这是因为 PHP 以没有写入权限的用户“www-data”身份执行,因此在查看其他问题后,我尝试设置权限,以便 www-data 具有对该文件夹的读写权限,并且蟒蛇文件。 无论出于何种原因,这都不起作用! 我一直在努力让它发挥作用,尝试其他几个问题的建议,有人可以在这里帮助我吗?

1 个回复

您收到有关“打开”文件的错误。 您必须确保 .txt 文件的权限为 755 或更高。 如果您使用的服务器是 Linux,那么您有两种方法可以修改权限:

  1. 如果您有 cPanel,则可以使用 cPanel 界面,只需转到文件更改权限,单击更改权限,然后将权限设置为 777。

  1. 从 linux 命令行,使用 chmod 命令 - 像这样:
chmod 777 cmds.txt 

在不了解更多信息的情况下,我无法谈论与之相关的安全问题。

另一种可能性是您使用的是“a”模式,但该文件尚不存在。 如果您在执行命令时不确定该文件是否存在,您可以尝试使用 'a+',因为如果文件不存在,它将创建该文件。

那行得通吗?

1 如何获取php执行python文件

我正试图让php执行python程序,但它不想执行它。 python代码的重点是从文本文件中获取6位代码,从数据库中获取数据并对其进行操作,然后将该数据保存到.txt文件中。 通过IDLE运行它时,它工作得很好,但是php代码不会执行它。 这是怎么了 的PHP代码: pyth ...

2 使用php的输出执行python脚本

是否有任何特殊权限或设置来执行创建新文件或图像的python脚本? 这是我的代码: 这是我的python脚本(一个例子): 运行php我收到“ok”消息但没有创建文件。 我究竟做错了什么? ...

3 从PHP中执行的curl获取输出

我正在使用sonicAPI尝试上传文件。 由于某些原因,我无法在php中使用curl来执行此操作,因为他们的api需要使用-F标志来模拟从表单中发帖....((HTTP)这可以使curl模仿用户已按下提交的填充表单按钮) 无论如何。 我必须用 上传文件。 直接输入到外壳中时, ...

4 从PHP执行Ruby脚本并获取输出

我有这个Ruby脚本(test.rb): 我有这个PHP脚本(test.php): 现在,我以这种方式从CLI调用我的PHP脚本: 而且我没有输出(它应该显示“ hello”) 为什么? ...

2011-12-22 13:18:51 2 5320   php/ ruby
6 从PHP执行SASS脚本并获取输出

我有这个PHP脚本(test.php): 现在,我以这种方式从CLI调用我的PHP脚本: 我没有输出(它应该打印SASS正在监视更改)。 如果我直接从外壳程序调用SASS命令,它将正确输出。 为什么? 信息 :我在OS X Lion上使用PHP 5.3.6版本 ...

2011-12-22 13:35:57 3 923   php/ sass
7 在vim中执行python命令并获取输出

当使用Python支持编译Vim时,您可以使用:python命令使用Python脚本编写Vim脚本。 我如何使用它来执行命令并在光标下插入结果? 例如,如果我要执行:python import os; os.listdir('aDirectory')[0] :python import o ...

8 无法获取从 Java 执行的 python 的输出

我实际上正在做我的毕业设计。 我必须使用弹簧靴技术。 我必须从将使用 html 表单输入的 java 代码运行 python 脚本。 我已经准备好了我的三个文件 HTML、java 和 python Java代码: 和python代码: 当我试图确定我的 python 脚本正在返回结果 ...

10 如何从ruby方法获取执行的python脚本的输出

我正在尝试从ruby方法运行python脚本。 我正在Rails应用程序中将此方法作为rake任务运行。 我正在使用这里提到的解决方案: 编辑 :这有效: EDIT2 :我正在尝试使用python脚本将字典列表传递给ruby函数。 python脚本看起来像: 有人可 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM