0

0

修改代码后不生效怎么办_必须重启workerman才能看到效果【说明】

絕刀狂花

絕刀狂花

发布时间:2026-03-12 17:09:11

|

974人浏览过

|

来源于php中文网

原创

Workerman 修改代码后无反应是因为进程未重启,需手动终止残留进程并重新启动。确认方法:用 ps 命令检查 PID 和启动时间;正确流程为 stop → pkill → start;开发期可用 inotifywait 监听自动重启。

修改代码后不生效怎么办_必须重启workerman才能看到效果【说明】

修改 PHP 代码后 Workerman 没反应?不是缓存问题,是进程没重启

Workerman 是常驻内存的长连接服务器,它启动后会把代码一次性加载进内存,后续所有请求都走这个内存副本。改了 Worker.php 或业务逻辑文件,不重启进程,新代码根本不会被加载——这不是 opcache、不是浏览器缓存、也不是 IDE 延迟,就是进程还在跑老代码。

怎么确认是不是真没重启?看进程 PID 和启动时间

很多人以为 php start.php stop 就停干净了,其实常有残留。必须用系统命令验证:

  • 执行 ps aux | grep start.php,检查是否还有 php start.php start 进程在运行
  • 对比 ps -eo pid,lstart,cmd | grep start.php 输出里的启动时间,确认是不是你改完代码之后才拉起的
  • 如果看到多个同名进程,或启动时间早于你改代码的时间,说明旧进程还在扛活

正确重启流程:stop → 清残留 → start

Workerman 自带的 stop 命令有时无法彻底杀死子进程,尤其用了 daemonize = true 或子 Worker 挂起时。稳妥做法是:

Krea AI
Krea AI

多功能的一站式AI图像生成和编辑平台

下载
  • 先运行 php start.php stop
  • 再手动杀一次残留:pkill -f "start.php start"(Linux/macOS)或 taskkill /F /IM php.exe /T(Windows)
  • 最后用 php start.php start 启动,加 -d 参数可前台运行便于观察:php start.php start -d
  • 注意:别用 Ctrl+C 中断前台进程后直接再 start——它可能没来得及释放端口,导致 Address already in use

开发期可以绕过重启?用 reload 不行,但 watch + restart 可以

Workerman 官方不支持热重载(reload 只对部分配置生效,不重载 PHP 业务代码),但你可以用工具自动监听文件变化并触发重启:

  • 推荐用 inotifywait(Linux)或 fswatch(macOS),配合 shell 脚本实现「改完保存就重启」
  • 例如 Linux 下写个 watch.sh
    while inotifywait -e modify,move_self,create ./Applications; do php start.php stop; pkill -f "start.php start"; php start.php start -d; done
  • 注意:别在生产环境开这种监听,也别用 touch 或修改时间戳假装更新——Workerman 不扫描文件变更

最常被忽略的一点:Workerman 的 Worker::reload() 是给平滑重启子进程用的,它不会重新 require 你的业务类文件;哪怕你在回调里手动 include,PHP 的 opcode 缓存和类加载器也会让旧版本继续生效。想看到新逻辑,唯一可靠路径就是干掉整个主进程再拉起。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
require的用法
require的用法

require的用法有引入模块、导入类或方法、执行特定任务。想了解更多require的相关内容,可以阅读本专题下面的文章。

510

2023.11.27

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1496

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1170

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

835

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

463

2023.08.02

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2362

2023.08.08

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

874

2023.08.10

windows boot manager
windows boot manager

windows boot manager无法开机的解决方法:1、系统文件损坏,使用Windows安装光盘或USB启动盘进入恢复环境,选择修复计算机,然后选择自动修复;2、引导顺序错误,进入恢复环境,选择命令提示符,输入命令"bootrec /fixboot"和"bootrec /fixmbr",然后重新启动计算机;3、硬件问题,使用硬盘检测工具进行扫描和修复;4、重装操作系统。本专题还提供其他解决

1976

2023.08.28

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号