MediaWiki修改LocalSettings.php文件后,如何无需重启Apache强制重载配置
MediaWiki 修改 LocalSettings.php 后无Apache重启的配置重载方案
MediaWiki 的 LocalSettings.php 是随PHP脚本运行时逐请求加载的业务配置,多数场景下不需要手动执行重载操作,全程不需要对Apache服务执行任何重启、重载操作。如果修改后配置未生效,基本是服务器PHP缓存层拦截了最新的文件内容,按照下面的方法处理即可。
基础生效逻辑
- 未开启PHP字节码缓存(OPcache)的环境下,只要保存修改后的
LocalSettings.php文件,下一次站点收到访问请求时,PHP引擎会自动重新解析配置文件内容,新配置即刻生效,无需任何额外操作。
开启OPcache场景下的无Apache中断重载操作
如果服务器启用了OPcache提升PHP运行性能,编译后的PHP字节码会被缓存,导致修改后的 LocalSettings.php 无法被重新读取,可通过以下任意一种方式完成重载,全程不触碰Apache服务运行状态:
- 通过Web访问触发OPcache清空:在站点Web根目录下临时创建一个内容为
<?php opcache_reset(); ?>的临时PHP文件,通过浏览器访问该文件一次,即可清空全部OPcache缓存,让修改后的配置重新被加载。操作完成后立刻删除这个临时脚本即可。 - 重载PHP-FPM进程:如果你的环境是Apache结合PHP-FPM架构部署,只需要针对对应版本的PHP-FPM服务执行重载命令即可(例如Debian/Ubuntu系统下执行
systemctl reload php8.1-fpm,命令中的PHP版本需和实际运行环境匹配),这个操作只会重启PHP的服务进程,完全不会影响Apache的正常运行,重载完成后OPcache会自动清空,新配置即刻生效。 - 调整OPcache自动校验规则:如果需要长期避免手动清缓存,可以修改php.ini配置,将
opcache.validate_timestamps设置为On,同时将opcache.revalidate_freq设置为合理的检查间隔(比如60秒),让OPcache自动定期检查配置文件的修改时间,无需手动触发重载。这个配置修改只需要通过上述PHP-FPM重载操作就能生效,不需要重启Apache。
内容的提问来源于stack exchange,提问作者serkanz
相关产品推荐
相关产品推荐

