Предупреждение PHP: Запуск PHP: Не мог загрузить динамическую библиотеку, '/usr/lib/php/20160303/zmq.so'

Когда я выполняюсь php -v в Ubuntu 17.10 я получаю сообщение об ошибке:

$ 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.so дает мне следующее:

$ 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

Если zmq.so расположен на правильном каталоге, почему я продолжаю получать то сообщение об ошибке?

1
задан 31 January 2018 в 08:51

1 ответ

zmq.so от дополнительного ZMQ PECL. Как Вы упомянули, это расположено там, но это не загружается. При обновлении версии PHP недавно, это, возможно, вызвало проблему (это, возможно, потенциально произошло посредством обновления дистрибутива также).

Так или иначе я думаю, что Ваш лучший выбор состоит в том, чтобы попытаться восстановить расширение с этими командами:

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

Я нашел эту информацию от следующих ссылок:

0
ответ дан 8 December 2019 в 02:30

Другие вопросы по тегам:

Похожие вопросы: