I end up with wrong extension order in /usr/local/etc/php/extensions.ini after each update of PHP by `pkg upgrade`. It is caused by PECL extensions. PECL extensions are not updated (no version change) so extensions.ini have them listed at the top.

# cat /usr/local/etc/php/extensions.ini
extension=intl.so
extension=dbase.so
extension=memcached.so
zend_extension=/usr/local/lib/php/20121212/xdebug.so
extension=xml.so
extension=session.so
extension=pdo.so
extension=mysql.so
extension=hash.so
extension=dom.so
extension=zlib.so
extension=zip.so
extension=xsl.so
extension=xmlwriter.so
extension=xmlreader.so
extension=tokenizer.so
extension=sqlite3.so
extension=sockets.so
extension=soap.so
extension=simplexml.so
extension=posix.so
extension=phar.so
extension=pdo_mysql.so
extension=openssl.so
zend_extension=/usr/local/lib/php/20121212/opcache.so
extension=mysqli.so
extension=mssql.so
extension=mcrypt.so
extension=mbstring.so


Then I got this error

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20121212/memcached.so' - /usr/local/lib/php/20121212/memcached.so: Undefined symbol "ps_globals" in Unknown on line 0

There are two ways to workaround it:
1) pkg install -f `pkg info -E pecl-\*`
2) manually edit extensions.ini and move them down

None of it is really a solution.

Do somebody have any idea how to universally solve it?
I think there must be some tool to automatically check and change order of extensions after each update. Or PECL extensions must have PORTREVISION bump on each PHP version change. (there is one problem - PECL extensions are shared across different PHP branches: php55, php56, php7)

Miroslav Lachman
_______________________________________________
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to