Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
在python和php之间发送和接收数据_Php_Python - Fatal编程技术网

在python和php之间发送和接收数据

在python和php之间发送和接收数据,php,python,Php,Python,我想从php文件中的表单向python函数发送一个字符串 接收“字符串参数”的python函数将对其进行处理,并将“结果字符串”返回到同一个php文件中并显示它 请指导我怎么做 更新 我在Windows8.1和Python3.6.4上使用xampp服务器 我已经成功地使用shell_exec()将参数从php发送到python,但无法将变量从python返回到php 我的PHP代码:(index.PHP) 我的python代码(echo.py) (注意:我已经阅读了有关StackOverflow

我想从php文件中的表单向python函数发送一个字符串

接收“字符串参数”的python函数将对其进行处理,并将“结果字符串”返回到同一个php文件中并显示它

请指导我怎么做

更新 我在Windows8.1和Python3.6.4上使用xampp服务器 我已经成功地使用shell_exec()将参数从php发送到python,但无法将变量从python返回到php

我的PHP代码:(index.PHP)

我的python代码(echo.py)

(注意:我已经阅读了有关StackOverflow的许多类似问题的答案,但找不到特定于此场景的答案)

手册:

当发生错误或程序运行时,此函数都可以返回NULL 不产生输出。无法检测执行失败 使用此函数。访问程序时应使用exec() 需要退出代码

手册适用于:

返回值\u var
如果return_var参数与output参数一起出现, 然后,已执行命令的返回状态将写入 变数

尝试以下操作(未测试的代码,请测试):

$return\u值是您要查找的。

手册:

当发生错误或程序运行时,此函数都可以返回NULL 不产生输出。无法检测执行失败 使用此函数。访问程序时应使用exec() 需要退出代码

手册适用于:

返回值\u var
如果return_var参数与output参数一起出现, 然后,已执行命令的返回状态将写入 变数

尝试以下操作(未测试的代码,请测试):

$return\u值
就是您想要的。

将shell\u exec分配给变量($resultAsString)似乎是我的解决方案

PHP:

<?php 

  //your variables that you are assigning
    $param1 = 'one';
    $param2 = "two";
  //This is where you pass the variables into Python 
    $command = escapeshellcmd("/python/echo.py $param1 $param2");
  //assign the execution to a variable
    $resultAsString = shell_exec($command);
    echo $resultAsString;
?>
将shell_exec分配给变量($resultAsString)似乎是我的解决方案

PHP:

<?php 

  //your variables that you are assigning
    $param1 = 'one';
    $param2 = "two";
  //This is where you pass the variables into Python 
    $command = escapeshellcmd("/python/echo.py $param1 $param2");
  //assign the execution to a variable
    $resultAsString = shell_exec($command);
    echo $resultAsString;
?>

@黑曜石这是一个类似的问题,但不是重复。我在问题中解释的性质和情景非常不同。如果可以的话,请帮忙。谢谢:)@James我已经更新了这个问题。@黑曜石这是一个类似的问题,但不是重复的问题。我在问题中解释的性质和情景非常不同。如果可以的话,请帮忙。谢谢:)@James我已经更新了问题。
string exec ( string $command [, array &$output [, int &$return_var ]] )
exec('python C:/python/echo.py',  ['abc', 'xzy'], $return_value);
<?php 

  //your variables that you are assigning
    $param1 = 'one';
    $param2 = "two";
  //This is where you pass the variables into Python 
    $command = escapeshellcmd("/python/echo.py $param1 $param2");
  //assign the execution to a variable
    $resultAsString = shell_exec($command);
    echo $resultAsString;
?>
import sys
ResultAsString = ''

#some computing as an example
for x in sys.argv:
    if (x == sys.argv[0]):
        continue
    else:    
        ResultAsString += str(x)+" "

#everything you print will be returned to PHP as a single string
print(ResultAsString)