Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在没有cgi的情况下从python到JavaScript获得浮点值_Javascript_Php_Python_Ajax_Raspberry Pi2 - Fatal编程技术网

如何在没有cgi的情况下从python到JavaScript获得浮点值

如何在没有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((

我从Raspberry Pi运行apache服务器,并有一个python脚本,通过打印返回传感器输入。这会正确地将其打印到控制台。目前,我有一个php脚本,该脚本获取此输出,并在再次打印之前,在传感器读数高时关闭一盏灯。这在从控制台运行时也起作用。最后一部分是javascript,它应该从php获取输出。它使用ajax实现,ajax运行“success”函数,但从php脚本中获取“0”

我的php脚本:

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