Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jan 2016 23:45:42 +0100
From:      Miroslav Lachman <000.fbsd@quip.cz>
To:        freebsd-ports@freebsd.org
Subject:   Re: wrong order of PHP extensions after update
Message-ID:  <5696D396.8020902@quip.cz>
In-Reply-To: <5696B01B.50604@quip.cz>
References:  <5696B01B.50604@quip.cz>

next in thread | previous in thread | raw e-mail | index | archive | help
Miroslav Lachman wrote on 01/13/2016 21:14:
> 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)

And the same problem is with databases/php55-redis. Even if it is not 
PECL extension (by its name), it has fixed version number 2.2.4 for more 
than year so it is not updated too (and ends up at the top of the 
extensions list but must be after sessions extension)

Miroslav Lachman




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5696D396.8020902>