PHP procurando por arquivo de biblioteca errado, o apt parece ter a versão errada instalada, mas não consigo removê-lo

0

Eu tinha uma pilha LAMP com libsodium funcionando bem no Ubuntu 15.x mas depois de atualizar para 16.04, PHP e libsodium não funcionam juntos

$> php -dextension=libsodium.so -r 'echo "foo";'
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/libsodium.so' - /usr/lib/php/20151012/libsodium.so: cannot open shared object file: No such file or directory in Unknown on line 0

Observe que o número no caminho aqui não corresponde a 20151012

$> find /usr/lib | grep sodium
/usr/lib/php5/20131226/libsodium.so

Remover e reinstalar talvez?

 $> apt-get purge 'libsodium*
 [ok]
 $> dpkg --get-selections | grep sodium
 [no output]
 $> find /usr/lib | grep sodium
/usr/lib/php5/20131226/libsodium.so

Esta biblioteca parece estar presa.

$> apt-get install libsodium-dev libsodium18
[ok]
$> find /usr -type l -ls | grep sodium
   393054      0 lrwxrwxrwx   1 root     root           34 Feb  6  2016 /usr/share/doc/libsodium-dev/changelog.Debian.gz -> ../libsodium18/changelog.Debian.gz
   132064      0 lrwxrwxrwx   1 root     root           19 Feb  6  2016 /usr/lib/x86_64-linux-gnu/libsodium.so -> libsodium.so.18.0.1
   132056      0 lrwxrwxrwx   1 root     root           19 Feb  6  2016 /usr/lib/x86_64-linux-gnu/libsodium.so.18 -> libsodium.so.18.0.1
$> find /usr/lib | grep sodium
/usr/lib/x86_64-linux-gnu/libsodium.so
/usr/lib/x86_64-linux-gnu/libsodium.a
/usr/lib/x86_64-linux-gnu/libsodium.so.18
/usr/lib/x86_64-linux-gnu/libsodium.so.18.0.1
/usr/lib/x86_64-linux-gnu/pkgconfig/libsodium.pc
/usr/lib/php5/20131226/libsodium.so

Mas depois disso, o erro do PHP é o mesmo. Os arquivos e links de leitura em /etc e /usr não me esclareceram sobre por que o PHP quer o caminho contendo 20151012 (uma data de YMD?)

Por que o PHP está procurando no caminho errado para libsodium?

    
por spraff 15.12.2016 / 17:34

1 resposta

0

O libsodium foi instalado via pecl, que não estava atualizado.

pecl uninstall libsodium
apt-get install php5-dev
pecl install libsodium
    
por 16.12.2016 / 11:17