2016-04-14 153 views
1

我想从我的PHP页面调用python脚本,但没有输出正在传递。代码中是否有错误?从PHP调用Python脚本

<?php 
include('main.php'); 
$lat = $_POST['lt']; 
$lon = $_POST['ln']; 
$uid = $_POST['id']; 
$rad = $_POST['rd']; 

$outs = 'python recommend.py ' . $uid . ' ' . $lat . ' ' . $lon . ' ' .  $rad; 
$output = shell_exec($outs); 
echo $output; 
?> 

虽然我试图使用虚拟变量获取输出,但它正在显示。

<?php 
$lat = $_POST['lt']; 
$lon = $_POST['ln']; 
$uid = $_POST['id']; 
$rad = $_POST['rd']; 
echo  "11,28.720663,77.106192,1.18764869157,50.2058551405~12,28.705344,77.147270,2.854 76982119,2.42050298022~14,28.697590,77.143108,2.63211107261,13.1314821232~64,28.  683058,77.079048,2.10283926574,28.9526789043~66,28.670294,77.126684,2.8317092358 ,5.80484607006~67,28.677712,77.092713,1.95077211146,28.4871314757~68,28.665512,7 7.093081,2.76955528898,21.8407451837~71,28.674069,77.124547,2.53467055409,24.755 4907651~" 
?> 
+0

通过追加'error_reporting(E_ALL);添加错误报告给您的php代码; ini_set('display_errors','1');'在你的php脚本的顶部,它返回什么? –

回答

0

我的猜测是,你需要提供给python脚本的完整路径,即:

python /full/path/to/recommend.py 

至于为了正确调试php对我的评论中提到,你需要启用错误报告在您的PHP脚本的顶部,即:

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', '1'); 
//the rest of your code... 

对生产模式的评论。

+0

嗨...感谢您的帮助。有效。但是,我在Python脚本中遇到了一个问题。我已经开始了一个新的讨论: [链接](http://stackoverflow.com/questions/36646992/error-in-python-script-regarding-strsys-argv1) Thankyou。 –

+0

你的新问题的问题与php shell_script cod有关,而不是python。我在手机上,当我在电脑上时,我会回答你。 –