PHP не может загружать общие библиотеки
Я новичок в публикации на этом форуме. Надеюсь, я не делаю здесь социальных ошибок.
Я имею:
- Система Linux (64 бит)
- php скомпилирован и установлен со следующими параметрами:
./configure --enable-keeper-zts --with-pdo-mysql --with-mysqli = mysqlnd --prefix = / etc / httpd / php --with-gd --with-config-file-path = / etc / httpd / php --disable-cgi --with-zlib --with-gettext --with-gdbm --enable-zip --enable-mbstring --with-zlib-dir = / usr / include --with -libxml-dir = / usr / lib64 --with-mcrypt = / usr / lib64 --with-jpeg-dir = / usr --with-png-dir = / usr --with-apxs2 = / etc / httpd / bin / apxs --enable-shared
- php.ini со следующими настройками:
extension_dir = "/usr/lib64/php/modules/" extension=mongo.so extension=curl.so extension=json.so extension=fileinfo.so extension=gd.so extension=mbstring.so extension=mcrypt.so extension=phar.so extension=zip.so
- ls -l / usr / lib64 / php / modules =
curl.so fileinfo.so gd.so json.so mbstring.so mcrypt.so mongo.so phar.so zip.so
- PHP-приложение "Привет, мир!" Print_something.php со следующей строкой:
<?php echo "Hello world\n"; ?>
версия php 5.6.0
при запуске в командной строке с:
php print_something.php
Я получаю следующий вывод:
php print_something.php
Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib64/php/modules/mongo.so' - /usr/lib64/php/modules/mongo.so: неопределенный символ: file_globals в Неизвестно в строке 0
Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib64/php/modules/curl.so' - /usr/lib64/php/modules/curl.so: неопределенный символ: file_globals в Неизвестно в строке 0 Предупреждение PHP:
Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib64/php/modules/json.so' - >/usr/lib64/php/modules/json.so: неопределенный символ: executor_globals в поле Неизвестно в строке 0
Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib64/php/modules/fileinfo.so' - /usr/lib64/php/modules/fileinfo.so: неопределенный символ: file_globals в Неизвестно в строке l
Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib64/php/modules/gd.so' - /usr/lib64/php/modules/gd.so: неопределенный символ: core_globals в Unknown в строке 0
Предупреждение PHP: PHP > Запуск: не удается загрузить динамическую библиотеку '/usr/lib64/php/modules/mbstring.so' - /usr/lib64/php/modules/mbstring.so: неопределенный символ: sapi_globals в Unknown в строке l 0
Предупреждение PHP: Запуск PHP: mcrypt: невозможно инициализировать модуль Модуль скомпилирован с модулем API=20090626 PHP скомпилирован с модулем API=20131226 Эти параметры должны совпадать в Неизвестно в строке 0
Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib64/php/modules/phar.so' - /usr/lib64/php/modules/phar.so: неопределенный символ: sapi_globals в Неизвестно в строке 0
Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib64/php/modules/zip.so' - /usr/lib64/php/modules/zip.so: неопределенный символ: executor_globals в поле Неизвестно в строке 0
Привет, мир
Что мне действительно нужно, так это mongo.so (я добавил другие, чтобы убедиться, что это не проблема монго в одиночку). Я просмотрел как общие, так и специальные запросы на не загружаемые модули общего доступа php, и не могу найти ответов, как решить эту проблему. Если кто-то может пролить свет на то, почему эти модули не будут загружаться, это было бы очень полезно.
1 ответ
Расширения PHP не скомпилированы для этой версии вашего PHP.
То же самое для пропущенных символов, потому что не связано с правильной версией PHP.
Пример из ваших ошибок: mcrypt
- Модуль скомпилирован с модулем API = 20090626
- PHP скомпилирован с модулем API=20131226
- Эти параметры должны соответствовать
Решение: Обновите расширения PHP с помощью вашей системы управления пакетами, чтобы они были синхронизированы с PHP, или скомпилируйте их вручную, используя PHP, SDK и необходимые расширения.
Вы найдете расширение Mongo здесь: http://pecl.php.net/package/mongo