【发布时间】:2021-03-07 16:57:53
【问题描述】:
我有这个 php 脚本:
<?php
$argOne = $argv[1];
print "$argOne";
print "you made it to php";
我有这个 python 函数调用它:
def phpCall(argOne):
script = 'php ./phpScript'
proc = subprocess.run([script, argOne], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print(proc)
script_response = str(proc.stdout,'utf-8')
return script_response
这是我运行 python 函数时发生的情况:
root@testSrv:~# python3 webAccess.py
CompletedProcess(args=['php ./phpScript', 'testArgument'], returncode=0, stdout=b'you made it to php', stderr=b'')
you made it to php
root@testSrv:~#
调用php脚本本身:
root@testSrv:~# php phpScript argumentOne
argumentOneyou made it to phproot@testSrv~#
所以我的论点正在进入 python 函数,但没有被正确传递到 php 脚本中的 $argv[1] 中,但不知道为什么。我从 python 运行 bash 脚本的类似事情中提取了这种语法,并且这种语法可以传递给 bash 脚本的 $1
【问题讨论】: