chm-lib (mlocati/chm-lib) reads CHM files in pure PHP, with its own LZX decompressor and no extensions. It lists and extracts entries, parses the table of contents (.hhc) and index (.hhk) into trees, and resolves tables of contents split across several CHM files. MIT, with parts under MS-PL. Works with PHP 5.3.3 through current PHP; the last release (1.3.0) is from 2020.
chm-libmlocati/chm-lib is a pure-PHP library for reading CHM (Compiled HTML Help) files. How to install it with Composer, list and extract files, read one page.