簡體   English   中英

單擊按鈕即可執行PHP執行Python腳本

[英]PHP Execute Python Script on button click

我正在使用php來刷新一個python腳本的按鈕。 這樣做的目的是當存在某個輸入並按下按鈕時,運行python腳本。 如果沒有用戶輸入,則$input_val有一個默認值,以防萬一。 我一直嘗試測試此方法的方式是在我的python文件中,我有一行應輸出到var/tmp/my_logfile.log ,但通過php頁面運行時不會返回任何日志。 像其他所有堆棧文章一樣,我已經看到它在命令提示符下有效。

我嘗試使用的代碼如下:

PHP:

if (isset($_POST['update']))
{
    exec('/usr/bin/python3 /var/www/python_test.py ".$input_val."');
}

HTML:

<form name="update" method="post" >
    <button name = "update" type="submit"> Update charts </button>
</form>

我使用過一些參考資料,但沒有運氣:

從PHP執行Python腳本

HTML表單按鈕運行PHP以執行Python腳本

https://www.raspberrypi.org/forums/viewtopic.php?t=105932

https://serverfault.com/questions/679198/executing-a-python-script-through-php-button

您不能將變量放在單引號字符串中,除非這是您真正想要的。 相反,要么分叉並連接,要么使用雙引號:

<?php exec('/usr/bin/python3 /var/www/python_test.py "' . $input_val . '"'); // note extra single quotes

要么:

<?php exec("/usr/bin/python3 /var/www/python_test.py \"$input_val\""); 

上面的代碼假定您實際上在終端中鍵入了雙引號。

如果沒有,請像這樣擺脫它們:

<?php exec('/usr/bin/python3 /var/www/python_test.py ' . $input_val );

要么:

<?php exec("/usr/bin/python3 /var/www/python_test.py $input_val");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM