【问题标题】:PHP exec() is not working on Raspberry apache serverPHP exec() 在 Raspberry apache 服务器上不起作用
【发布时间】:2015-01-08 17:30:56
【问题描述】:

我有一个带有 Apache 服务器的 Raspberry Pi (PHP5)。我有一个代码来控制我的中继模块,但 PHP 不执行 python 脚本。

这是代码:

<html>
<head>
<meta charset="UTF-8" />
    <link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<?php
if (isset($_POST['LightON']))
{
exec("sudo python /home/pi/lighton_1.py");
}
if (isset($_POST['LightOFF']))
{
exec("sudo python /home/pi/lightoff_1.py");
}
?>
<form method="post">
<button class="btn" name="LightON">Light ON</button>&nbsp;
<button class="btn" name="LightOFF">Light OFF</button><br><br>
</form>
</html>

【问题讨论】:

  • 也许你可以添加一些配置文件,否则几乎不可能说出你的问题是什么

标签: php python linux apache raspberry-pi


【解决方案1】:

如果启用了exec(),请查看您的php.ini。如果不是,请取消注释并重新启动您的 PHP 进程(也可能是 apache)

编辑:
提交编辑后,我注意到您在 PHP exec() 语句中使用了 sudo。如果您的 root 用户受密码保护(它确实应该这样做!),这将不起作用。

【讨论】:

  • 另外,@user3726666 避免在您的问题中使用类似 pastebin 的链接,而是粘贴您问题中格式化的代码。
【解决方案2】:

您应该尝试改用shell_exec 命令,它适用于我并且我有相同的设置。

【讨论】:

  • 请注意,我完全同意 Rob1NN - sudo 不能与 execshell_exec 一起使用。
猜你喜欢
  • 2012-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-12
  • 2013-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多