[英]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-data
是visudo
具有 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.