如何在没有cgi的情况下从python到JavaScript获得浮点值
我从Raspberry Pi运行apache服务器,并有一个python脚本,通过打印返回传感器输入。这会正确地将其打印到控制台。目前,我有一个php脚本,该脚本获取此输出,并在再次打印之前,在传感器读数高时关闭一盏灯。这在从控制台运行时也起作用。最后一部分是javascript,它应该从php获取输出。它使用ajax实现,ajax运行“success”函数,但从php脚本中获取“0” 我的php脚本:如何在没有cgi的情况下从python到JavaScript获得浮点值,javascript,php,python,ajax,raspberry-pi2,Javascript,Php,Python,Ajax,Raspberry Pi2,我从Raspberry Pi运行apache服务器,并有一个python脚本,通过打印返回传感器输入。这会正确地将其打印到控制台。目前,我有一个php脚本,该脚本获取此输出,并在再次打印之前,在传感器读数高时关闭一盏灯。这在从控制台运行时也起作用。最后一部分是javascript,它应该从php获取输出。它使用ajax实现,ajax运行“success”函数,但从php脚本中获取“0” 我的php脚本: <?php exec ("python temp.py", $temp); if((
<?php
exec ("python temp.py", $temp);
if((float)$temp[0]>28)
{
exec("gpio read 0",$state);
if($state[0]=="1")
{
include('gpio.php');
echo("Overheated: ".$temp[0]);
}
}
else
{
echo($temp[0]);
}
?>
如有任何建议,我们将不胜感激。谢谢。好的。这可能是用户权限问题,因为您从终端获取用户下运行的输出脚本。在服务器的用户下运行它的浏览器返回一个空字符串 从服务器运行脚本时,请检查
www-data
(或其他)权限。设置错误报告并运行:
ini_set('display_errors', true);
error_reporting(E_ALL);
echo exec('whoami');
如果打印出的用户不是sudoer,请设置正确的权限以允许该用户执行
.py
脚本。请尝试var\u dump()
查看确切的值及其类型。如果这不是您所期望的,请尝试在脚本末尾添加die()
或exit()
,而不是关闭括号?>
。当我从命令行运行php时,我得到了预期的字符串(7)“26.9862”。但该网站打印字符串(0)”。关于为什么它没有显示正确的值,有什么线索吗?我现在在php中有exit(),似乎在不强制转换的情况下,php从python脚本中得到了一个空值。
ini_set('display_errors', true);
error_reporting(E_ALL);
echo exec('whoami');