2016-03-31 91 views
0

我的php代碼位於htdocs/series/index.php。 我的python代碼位置是/home/shivam/Desktop/hello.py 我在ubuntu中使用xampp運行php。 這裏是PHP代碼從php運行python腳本並寫入文件

<?php 
$command = escapeshellcmd('/home/shivam/Desktop/hello.py'); 
$output = shell_exec($command); 
echo $output; 
?> 

這裏是我的Python代碼

#!/usr/bin/env python 
with open("/home/shivam/Desktop/solution.txt", "w") as myfile: 
    myfile.write("write text") 

我試圖運行使用PHP編寫一個文件 'solution.txt' 的python腳本。當我自己寫一些東西到solution.txt並使用python腳本通過php以讀取模式打開它時,它可以工作,但是當我嘗試使用上面的代碼編寫代碼時,我無法這樣做。 還有一件事,沒有任何一行下面的代碼被打開(「/ home/shivam/Desktop/solution.txt」,「w」)作爲myfile:「被執行。 我曾試圖給出的解決方案:enter link description here

+0

您是否也按照鏈接建議更改了權限? – jDo

+0

我做了chmod + x hello.py – shivam12393

+0

你原來的代碼有有效的php標籤,對吧?它說'?php',而不是'<?php'。 – jDo

回答

0

絕對路徑的可執行文件和文件...

run_py.php

<?php 
$command = escapeshellcmd('/usr/bin/python /home/user/some_py.py'); 
$output = shell_exec($command); 
echo $output; 
?> 

some_py.py

with open("/home/user/solution.txt", "w") as myfile: 
    myfile.write("write text") 

輸出:

[email protected]:~/$ php run_py.php 
[email protected]:~/$ cat solution.txt 
write text 
+0

我知道這段代碼正在工作。但我必須在瀏覽器上運行它。 – shivam12393

+0

@ shivam12393 *「我知道這段代碼正在工作。」*您是否真的嘗試過運行它?啓用PHP錯誤報告並檢查是否允許您的PHP /服務器用戶(www-data?)寫入文件。 PHP可能不被允許打開一個shell。 – jDo

+0

沒有錯誤顯示 – shivam12393