PHP-Warnung: PHP-Start: Dynamische Bibliothek „/usr/lib/php/20160303/zmq.so“ kann nicht geladen werden

PHP-Warnung: PHP-Start: Dynamische Bibliothek „/usr/lib/php/20160303/zmq.so“ kann nicht geladen werden

Bei der Ausführung php -vin Ubuntu 17.10 erhalte ich eine Fehlermeldung:

$ php -v

PHP Warning:  PHP Startup: Unable to load dynamic library 
'/usr/lib/php/20160303/zmq.so' - /usr/lib/php/20160303/zmq.so: 
undefined symbol: _zval_get_string_func in Unknown on line 0
PHP 5.6.33-1+ubuntu17.10.1+deb.sury.org+1 (cli) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend 
Technologies
with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans

locate zmq.sogibt mir folgendes:

$ locate zmq.so
/usr/lib/php/20160303/zmq.so
/usr/lib/x86_64-linux-gnu/libzmq.so
/usr/lib/x86_64-linux-gnu/libzmq.so.5
/usr/lib/x86_64-linux-gnu/libzmq.so.5.1.2

Wenn zmq.soes sich im richtigen Verzeichnis befindet, warum erhalte ich dann ständig diese Fehlermeldung?

Antwort1

Das zmq.soist von der PECL-ErweiterungZMQ. Wie Sie erwähnt haben, befindet es sich dort, wird aber nicht geladen. Wenn Sie Ihre PHP-Version kürzlich aktualisiert haben, könnte dies das Problem verursacht haben (dies könnte möglicherweise auch durch ein Distributions-Upgrade passiert sein).

In jedem Fall denke ich, dass Ihre beste Option darin besteht, zu versuchen, die Erweiterung mit diesen Befehlen neu zu erstellen:

git clone git://github.com/mkoppanen/php-zmq.git
cd php-zmq
phpize && ./configure
make
sudo make install

# now we tell php to use this extension
echo "extension=zmq.so" >> /etc/php/{version_number}/mods-available/zmq.ini
sudo phpenmod zmq
sudo service apache2 restart #Since you also tagged this with apache2

Diese Informationen habe ich unter den folgenden Links gefunden:

verwandte Informationen