繁体   English   中英

php网页不执行脚本

[英]php web page not executing script

我对 php 很陌生,虽然有一些“diy”编码经验,但我基本上是个新手! 因此,我有一个非常简单的问题......

基本上,我使用装有 Raspberry Pi OS 的 raspberry pi 在汽车中为长途旅行的孩子们创建了一个迷你媒体服务器。 但是,当汽车关闭时,它会立即切断树莓派的电源,这通常不是问题,但最近损坏了我已修复的系统。

但正因如此,我决定添加一个小脚本,允许连接的设备打开网页并单击按钮在切断电源之前关闭 pi。 我使用 lighttpd 作为网络服务器,我有基本的工作意味着当我输入 IP 地址并且有一个按钮时 index.php 页面加载。 我的问题是,当我单击按钮时,不是执行脚本,而是将脚本的内容打印在屏幕上?!!

要添加,我已按照以下链接中列出的解决方案进行操作: https : //superuser.com/questions/829243/how-to-shut-down-a-server-from-the-webinterface

此外,我已将脚本更改为 bash 和 PHP 失败(结果相同)。 我还将索引从基本的 HTML 页面更改为 PHP 脚本。 目前,以下是我用来生成按钮的脚本:

<?PHP

?><!DOCTYPE html>
<html lang="en">
  <body>
    <form method="post" action="shutdown.sh">
        <input type="submit" value="Submit" name="Submit">
    </form>
  </body>
</html>

脚本是:


#!/bin/bash
echo $("sudo shutdown now");

www-datavisudo具有 root 权限的用户

如前所述,bash 脚本已从原始 python 示例中编辑,我尝试了 PHP ...

还要注意:这两个文件都在同一目录中,但我确实将它们分开放在关闭脚本的子目录中(如示例中所示)...

感谢所有帮助!

您的 Web 服务器可能未配置为执行 shell 脚本。

但是,您提到您还尝试过 php 版本的脚本。

我认为您的 Web 服务器未配置为执行 php 脚本。 如果显示<?PHP ?>未正确配置,请通过单击 ctrl+u 或 cmd+u 使用浏览器中的按钮检查页面的来源。

你不写你安装了哪个操作系统。 但也许本指南会帮助你https://wiki.ubuntu.com/Lighttpd+PHP或这个答案https://raspberrypi.stackexchange.com/questions/1164/how-to-install-lighttpd-with-php

我不能完全说出什么是有效的,因为我已经做了一些进一步的事情。 我不相信 PHP 和 bash 脚本的服务器执行是问题,因为我之前更改了这两个文件的权限。 然而,这并非不可能,因此对于任何有类似问题的人来说,以下内容值得一试:

更改目录所有者和组sudo chown www-data:www-data /var/www

允许组写入目录sudo chmod 775 /var/www

将 pi 用户添加到 www-data 组sudo usermod -a -G www-data pi

完成此操作后,以下是我实际工作的代码:

索引.html:

<html lang="en">
  <body>
    <form method="post" action="shutdown.php">
        <input type="submit" value="Submit" name="Submit">
    </form>
  </body>
</html>

关闭.php:


echo shell_exec("sudo shutdown -h now");

?>```


Make sure they are both executable files (sudo chmod +x ....)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM