已安装的matomo可以用php cli定时执行console core:archive,提前生成报表,减少浏览器打开报表时临时计算。先以web服务用户手动跑通并确认日志,再写入定时任务;定时归档正常后才切换浏览器触发方式,避免两边都未正常工作而让报表停止更新。
用实际CLI环境先运行一次
sudo -u www-data /usr/bin/php /path/to/matomo/console core:archive --url=https://analytics.example.org/
将www-data、PHP路径、Matomo目录与URL换成自己的部署值。CLI PHP与网页PHP可能是两个版本,要分别检查扩展和权限;命令应能读取配置并写入需要的临时及报表数据。遇到数据库连接、内存或目录错误,先修复这一轮的实际原因。

Matomo官方文档演示cron归档命令
在系统cron文件中按小时执行
5 * * * * www-data /usr/bin/php /path/to/matomo/console core:archive --url=https://analytics.example.org/ >> /var/log/matomo-archive.log 2>&1
这行用于/etc/cron.d下的系统定时文件,含执行用户名;若使用用户crontab,应去掉www-data这一列。预先建立只允许相应用户写入的日志路径,观察下一次启动和命令结束,不能把保存了cron文件当成定时运行已验证。

Matomo官方说明多个归档进程应错峰启动
归档跑通后调整浏览器触发
[General] browser_archiving_disabled_enforce = 1
在config/config.ini.php已有General区内追加或修改这一项,不重复创建冲突区块,也不覆盖原有数据库和站点设置。该设置让浏览器不再临时触发归档,因此必须同时保证定时任务持续正常。
归档可能耗时较长,若已经超过一小时,应按实际负载调整周期和站点范围。需要多个归档进程时,官方建议错峰启动以减少并发问题;先确认单进程的完成日志,再考虑并行,不照抄多进程数量。
立即学习“PHP免费学习笔记(深入)”;



















