Here’s a fun one I’ve not run into in some time:
I was installing the php mailparse extension for a client. Same old, same old. Did the usual pecl install (with a -n flag because the mbstring requirement was installed from RPM and the mailparse pecl installer was not recognizing that). It installed without issue, I made my /etc/php.d/mailparse.ini file and went to check my work with a php -m command. Low and behold…. an error!
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib64/php/modules/mailparse.so’ – /usr/lib64/php/modules/mailparse.so: undefined symbol: mbfl_name2
I scratched my head a bit, poking around, before I found it. Mailparse requires mbstring but was somehow being loaded before it and, as a result, failing. I renamed my ini file to z_mailparse.ini, to ensure it loads after everything else, and the error cleared.