You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下systemd启动PHP MQTT服务返回状态码1故障求助

问题原因及排查方案

你遇到的问题绝大多数情况是相对路径不匹配和systemd日志配置格式错误导致的,按以下步骤排查即可:

  • 首先修正ExecStart中的PHP文件路径:systemd执行服务时默认工作目录为/,不会继承你手动执行命令时的当前目录,所以xyz.xx/subtest.php的相对路径会找不到文件。要么直接写该文件的绝对路径,要么在[Service]段新增WorkingDirectory参数,值为你手动执行命令时所在的目录的绝对路径。
  • 修正日志配置:低于236版本的systemd不支持直接在StandardOutput/StandardError后写文件路径,需要加前缀,修改为如下配置即可:
    StandardOutput=append:/var/log/myphpdaemon.log
    StandardError=append:/var/log/myphpdaemon.log
    
  • 每次修改完.service文件后必须执行systemctl daemon-reload重载配置,再重启服务测试。
  • 如果修改后还是启动失败,直接执行journalctl -u mqttdaemon.service -f查看systemd记录的服务运行日志,即可看到PHP脚本输出的具体报错信息,不用等自定义日志文件生成。
  • 额外确认点:检查你手动执行的PHP命令是否和服务中配置的/opt/plesk/php/7.4/bin/php为同一个二进制文件,避免出现手动用的是系统默认PHP、服务用的Plesk版PHP缺扩展的情况。

内容的提问来源于stack exchange,提问作者Rasmus Jørgensen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:48:07