【问题标题】:PHP Execute Python Script on button clickPHP 在按钮单击时执行 Python 脚本
【发布时间】:2018-07-23 22:33:36
【问题描述】:

我正在使用 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>

我使用过的一些参考资料,但没有成功:

Execute Python script from Php

HTML form button to run PHP to execute Python script

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

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

【问题讨论】:

标签: php python


【解决方案1】:

您不能将变量放在单引号字符串中,除非那是您真正想要的。相反,要么拆分并连接,要么使用双引号:

<?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");

【讨论】:

  • 使用了选项
  • 很高兴能帮上忙!
猜你喜欢
  • 2013-02-15
  • 1970-01-01
  • 2019-06-27
  • 1970-01-01
  • 2021-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多