现在让我们在PHP代码中添加一些调试助手。由于我认为您没有使用调试器,所以最简单的方法是打印调试语句。这对于10-LOC脚本来说是可以的,但是如果您需要处理更大的应用程序,请投入时间学习如何使用PHP debuggers和如何使用{a2}。在
结果如下:
/路径/到/演示.php<?php
$data = array('as', 'df', 'gh');
$pythonScript = "/path/to/myScript.py";
$cmd = array("python", $pythonScript, escapeshellarg(json_encode($data)));
$cmdText = implode(' ', $cmd);
echo "Running command: " . $cmdText . "\n";
$result = shell_exec($cmdText);
echo "Got the following result:\n";
echo $result;
$resultData = json_decode($result, true);
echo "The result was transformed into:\n";
var_dump($resultData);
?>
/路径/到/myScript.pyimport sys, json
try:
data = json.loads(sys.argv[1])
print json.dumps({'status': 'Yes!'})
except Exception as e:
print str(e)
现在运行脚本:cd /path/to
php -f demo.php
我得到的是:Running command: python /path/to/myScript.py '["as","df","gh"]'
Got the following result:
{"status": "Yes!"}
The result was transformed into:
array(1) {
'status' =>
string(4) "Yes!"
}
你的应该是不同的,并包含关于正在发生的事情的提示。