It looks like the package install did not go through. Unfortunately other than the hint that the file could not be loaded there isn't much. Was this a GUI upgrade or a "make upgrade" from the repository? What was the version before that one?

FreeBSD ports pushed an awesome and long-overdue change of the extensions.ini handling within their PHP packages. Long story sort was that installing PHP packages that depend on each other was prone to racing and would sometimes end up in the wrong order, throwing fatal errors or spurious warnings.

Their solution was to split up the extensions.ini into ext-20-gettext.ini et al., where each plugin (gettext in this case) would get its private extensions file, which PHP itself sorts using the priority (20 in this case) so that all the dependencies are properly ordered.

This scared the hell out of me when I saw it, because it could potentially brick OPNsense on firmware upgrades like you've seen, although I did not know what the exact error would be. We pushed this for 16.7.2 and all went fine (thank god!). But now seeing your issue it's exactly what could go wrong: we stop writing the extensions.ini file that even m0n0wall must have written back then and in doing so it would break the system under the following condition:

The new packages for OPNsense 16.7.2 were not applied before going beyond the core.git's master branch state. opnsense-devel is version 17.1.a_194 on 16.7.2's packages, and you tripped over the critical section by applying the development changes before the packages itself were ready for it.

Sorry for this, I should have waited a while before I flipped the kill-switch for the extensions.ini: