Вопрос по php – Ошибка в PHP5 .. Невозможно загрузить динамическую библиотеку

70
[email protected]:/etc/php5/apache2# php -a
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/curl.so' - /usr/lib/php5/20090626+lfs/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/mcrypt.so' - /usr/lib/php5/20090626+lfs/mcrypt.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/mysql.so' - /usr/lib/php5/20090626+lfs/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/mysqli.so' - /usr/lib/php5/20090626+lfs/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/pdo.so' - /usr/lib/php5/20090626+lfs/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/pdo_mysql.so' - /usr/lib/php5/20090626+lfs/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
Interactive shell

Ваш Ответ

13   ответов
0

Я включил extension_dir в php.ini, раскомментировав

  extension_dir = "ext"
  extension=phpchartdir550.dll

и копирование phpchartdir550 dll в extension_dir (/ usr / lib / php5 / 20121212) привело к той же ошибке.

  PHP Warning:  PHP Startup: Unable to load dynamic library 'ext/phpchartdir550.dll' - ext/phpchartdir550.dll: cannot open shared object file: No such file or directory in Unknown on line 0
  PHP Warning:  PHP Startup: Unable to load dynamic library 'ext/pdo.so' - ext/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0
  PHP Warning:  PHP Startup: Unable to load dynamic library 'ext/gd.so' - ext/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0

Как отметил @Mike, нет необходимости устанавливать все компоненты, когда они на самом деле не требуются в приложении.

Более простой способ - указать полный путь к расширениям, которые будут загружены после копирования библиотек в правильное местоположение.

Скопируйте phpchartdir550.dll в / usr / lib / php5 / 20121212, который является extension_dir в моем Ubuntu 14.04 (это можно увидеть с помощью phpinfo ()) а затем укажите полный путь к библиотеке в php.ini,

;   extension=/path/to/extension/msql.so
extension=/usr/lib/php5/20121212/phpchartdir550.dll

Error: User Rate Limit Exceeded

даже если другие .so находятся в том же каталоге, выборочно могут быть загружены только требуемые.

2

Моя проблема была решена с помощью следующей команды

sudo apt-get install php5-mcrypt

я имею

  • PHP 5.3.10-1ubuntu3.4 with Suhosin-Patch (cli)
  • Ubuntu Desktop 12.04
  • Mysql 5.5
Error: User Rate Limit Exceeded
2

Я нашел это решениеblog.tordeu.comи это

sudo aptitude purge php5-suhosin

Я не уверен, но кажется, чтоsuhosin больше не нужен, он работал для моей, моей версии PHP:

PHP 5.4.34-1+deb.sury.org~lucid+1 (cli) (built: Oct 17 2014 15:26:51)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
11

Похоже на тебяupgraded PHP к более новой версии и старые файлы .ini по-прежнему указывают на старое местоположение.

The solution: узнать, где сейчас находятся модули

ls -l /usr/lib/php5

Там должен быть каталог, похожий на старый20090626, В моем случае это сейчас20131226

Файлы .ini с ошибкой находятся по адресу/etc/php5/cli/conf.d/

Просто отредактируйте те файлы .ini, модуль которых выдает ошибку. Например, в случае ошибки для модуля mcrypt:

sudo vi /etc/php5/cli/conf.d/20-mcrypt.ini

Измените строку:

extension=/usr/lib/php5/20090626/mcrypt.so

чтобы отразить новый путь для .so файла. В моем случае правильный путь должен быть:

extension=/usr/lib/php5/20131226/mcrypt.so

Вот и все! Ошибка ушла. Ofc, Вы должны сделать это с каждым модулем, сообщающим Вам ошибку.

3

Если вы используете 5.6 php,

sudo apt-get установить php5.6-curl

Error: User Rate Limit Exceeded
-1

Error: User Rate Limit Exceeded

  • Open php.ini
  • Path: etc/php5/cli/php.ini
  • Remove or comment: extension=ssh2.so then save it.
0

Каким-то образомgmp.so Кажется, файл был удален из моей системы. Это то, что исправило это для меня:

sudo apt-get install --reinstall php5-gmp

47

sudo apt-get install php5-mcrypt
sudo apt-get install php5-mysql

... и т. д. решил это для меня :)

Надеюсь, поможет

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
138

Хотя некоторые другие ответы предлагают это, установка более ненужного программного обеспечения обычноnot лучшее решение Вместо этого вы должны исправить основную проблему. Причина появления этих сообщений в том, что вы пытаетесь загрузить эти расширения, но они не установлены. Поэтому простое решение - просто сказать PHP прекратить попытки их загрузки:

Сначала выясните, какие файлы пытаются загрузить вышеуказанные расширения:

$ grep -Hrv ";" /etc/php5 | grep -E "extension(\s+)?="

Пример вывода для Ubuntu:

/etc/php5/mods-available/gd.ini:extension=gd.so
/etc/php5/mods-available/pdo_sqlite.ini:extension=pdo_sqlite.so
/etc/php5/mods-available/pdo.ini:extension=pdo.so
/etc/php5/mods-available/pdo_mysql.ini:extension=pdo_mysql.so
/etc/php5/mods-available/mysqli.ini:extension=mysqli.so
/etc/php5/mods-available/mysql.ini:extension=mysql.so
/etc/php5/mods-available/curl.ini:extension=curl.so
/etc/php5/mods-available/sqlite3.ini:extension=sqlite3.so
/etc/php5/conf.d/mcrypt.ini:extension=mcrypt.so
/etc/php5/conf.d/imagick.ini:extension=imagick.so
/etc/php5/apache2/php.ini:extension=http.so

Теперь просто найдите файлы, которые загружают расширения, которые вызывают ошибки, и закомментируйте эти строки с помощью;, По какой-то причине это случилось со мной при установке Ubuntu по умолчанию, так что, надеюсь, это поможет кому-то еще.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0

У меня была похожая проблема, которая привела меня сюда:

$ phpunit --version
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20131226/profiler.so' - /usr/lib/php5/20131226/profiler.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHPUnit 5.7.17 by Sebastian Bergmann and contributors.

В отличие от вышеизложенного, установка программного обеспечения не решила мою проблему, потому что она у меня уже была.

$ sudo apt-get install php5-uprofiler
Reading package lists... Done
Building dependency tree       
Reading state information... Done
php5-uprofiler is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 52 not upgraded.

Я нашел свое решение через:Журналы отчетов об ошибках Debian

$ sudo vim /etc/php5/mods-available/uprofiler.ini

Я отредактировал INI-файл, изменивextension=profiler.so вextension=uprofiler.soError: User Rate Limit Exceeded

$ phpunit --version
PHPUnit 5.7.17 by Sebastian Bergmann and contributors.

Error: User Rate Limit Exceeded

0

Хорошо для Ubuntu 14.04 я получал эту ошибку только для mcrypt:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/mcrypt.ini' - /usr/lib/php5/20121212/mcrypt.ini: cannot open shared object file: No such file or directory in Unknown on line 0

Если вы внимательно посмотрите на ошибку, php ищет mcrypt.ini, а не mcrypt.so в этом месте. Я просто копирую mcrypt.so в mcrypt.ini и все, предупреждение исчезло, и расширение теперь установлено правильно. Это может выглядеть немного грязно, но это сработало!

13

Посмотрите /etc/php5/cli/conf.d/ и удалите соответствующие файлы * .ini. Эта ошибка происходит, когда вы удаляете некоторые пакеты php не так чисто.

6

Если вы положили; Символ, это действие неактивное расширение.

У меня была такая же проблема, и я сделал следующее:

  1. Uninstall php with purge parameter:

    sudo apt-get --purge remove php5-common
    
  2. And install again:

    sudo apt-get install php5 php5-mysql
    

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