PHP无法直接操作树莓派GPIO,需通过sysfs文件系统(如file_get_contents读取/sys/class/gpio/gpio17/value)或gpio命令行工具(依赖已弃用的WiringPi),但均存在权限、性能与维护性问题;推荐用C/Python编写独立采集服务并提供API供PHP调用。
PHP 本身没有内置 GPIO 操作能力,不能直接读取树莓派的 GPIO 引脚电平。必须借助系统层工具(如 sysfs 接口)或外部命令桥接,且需确保权限和内核支持。
sysfs + file_get_contents() 读取 GPIO 状态(最轻量)树莓派 Linux 内核默认启用 sysfs GPIO 接口(路径为 /sys/class/gpio/),PHP 可以通过文件读写操作获取电平值。前提是该引脚已导出并设为输入模式。
echo 17 > /sys/class/gpio/export echo in > /sys/class/gpio/gpio17/direction
$value = (int) file_get_contents('/sys/class/gpio/gpio17/value');返回 0 或 1,对应低电平/高电平/sys/class/gpio/gpio*/value 的权限(通常需加入 gpio 用户
组,或用 sudo 启动 Web 服务 —— 不推荐)gpio 命令行工具(兼容性更好,但依赖 WiringPi 已弃用)老项目可能还在用 wiringpi 提供的 gpio 命令,它封装了底层操作,对 PHP 更友好,但 WiringPi 自 2019 年起不再维护,且新版 Raspberry Pi OS(基于 Debian 11+)默认不预装。
sudo apt install wiringpi
$level = (int) trim(shell_exec('gpio -g read 17'));其中 -g 表示使用 Broadcom GPIO 编号(即 BCM 编号),17 是引脚号command not found,说明未安装或架构不兼容(如 ARM64 系统上部分二进制不可用)pcntl_fork() + exec() 避免 Web 服务器阻塞(慎用)如果 PHP 运行在 Apache/Nginx + PHP-FPM 下,直接读 /sys/class/gpio/ 一般不会阻塞;但若你尝试用 exec() 调用带延迟的命令(如 gpio readall),可能引发超时或子进程残留。
RPi.GPIO 或 libgpiod),PHP 只负责读取其输出文件或 socketpcntl_fork() 在 PHP-FPM 中默认禁用,且 fork 出的子进程脱离请求生命周期后易成僵尸进程,不建议用于 GPIO 监听真正稳定的做法是:用 C/Python 写一个常驻的 GPIO 采集服务(推荐 libgpiod,取代已废弃的 sysfs 接口),暴露 HTTP API 或本地 socket;PHP 只做请求和解析。否则,硬用 PHP 直接碰硬件,权限、竞态、可维护性全是坑。
# php
# linux
# python
# apache
# nginx
# 工具
相关文章:
如何构建满足综合性能需求的优质建站方案?
*服务器网站为何频现安全漏洞?
如何高效配置香港服务器实现快速建站?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
如何在IIS管理器中快速创建并配置网站?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
宁波自助建站系统如何快速打造专业企业网站?
如何登录建站主机?访问步骤全解析
制作国外网站的软件,国外有哪些比较优质的网站推荐?
宁波免费建站如何选择可靠模板与平台?
广州营销型建站服务商推荐:技术优势与SEO优化解析
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
如何高效利用200m空间完成建站?
北京企业网站设计制作公司,北京铁路集团官方网站?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
专业商城网站制作公司有哪些,pi商城官网是哪个?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
如何在搬瓦工VPS快速搭建网站?
开封网站制作公司,网络用语开封是什么意思?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
如何做静态网页,sublimetext3.0制作静态网页?
建站主机服务器选购指南:轻量应用与VPS配置解析
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
网站制作员失业,怎样查看自己网站的注册者?
大连网站制作公司哪家好一点,大连买房网站哪个好?
如何在新浪SAE免费搭建个人博客?
已有域名能否直接搭建网站?
自助网站制作软件,个人如何自助建网站?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
如何确认建站备案号应放置的具体位置?
详解jQuery停止动画——stop()方法的使用
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
如何获取免费开源的自助建站系统源码?
linux top下的 minerd 木马清除方法
临沂网站制作企业,临沂第三中学官方网站?
高防服务器如何保障网站安全无虞?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
如何通过多用户协作模板快速搭建高效企业网站?
公司网站设计制作厂家,怎么创建自己的一个网站?
python的本地网站制作,如何创建本地站点?
如何在Windows 2008云服务器安全搭建网站?
c# await 一个已经完成的Task会发生什么
建站之星如何开启自定义404页面避免用户流失?
*请认真填写需求信息,我们会在24小时内与您取得联系。