2016-04-14 147 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。我在手機上,當我在電腦上時,我會回答你。 –