Я выполнил следующие шаги, чтобы установить php-драйверы mongo с лампой.
http://abstract2paradox.wordpress.com/2012/01/26/adding-mongo-db-driver-to-xampp/
Когда я запускаю лампу, она дает следующую ошибку
Внимание: запуск PHP: невозможно загрузить динамическую библиотеку '/opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/mongo.so' – / opt / lampp / lib / php / extensions / no- debug-non-zts-20090626 / mongo.so: неправильный класс ELF: ELFCLASS64 в Unknown в строке 0
Есть идеи?
Благодарю вас
Это означает, что ваш PHP скомпилирован в 32-битном режиме, но расширение mongo в виде 64-битного режима. Я считаю, что скомпилированный PHP-файл Apple также находится в 32-битном режиме, вы можете убедиться, что с помощью:
php -r 'echo PHP_INT_MAX, "\ n";'
Если это показывает
9223372036854775807
вы на 64-битной платформе.
Теперь в вашем случае вам нужно будет убедиться, что вы скомпилируете расширение MongoDB с 32-битной архитектурой. От http://artur.ejsmont.org/blog/content/how-to-build-mongodb-pecl-extension-in-32bit-for-php-52-on-macosx-snow-leaopard Я считаю, что вы можете это сделать с:
pecl загрузить mongo tar -xvzf mongo-1.2.7.tgz cd mongo-1.2.7 CFLAGS = "- m32" phpize ./configure делать сделать установку
Проблема была такой, как описал Дерик выше. Хотя проблема была решена, была загружена 32-разрядная версия ubuntu os и запускалась как виртуальная машина на моем компьютере с помощью vmware. Позже в разделе «Установка вручную» на этой странице была установлена установка драйвера php, и все это сработало. Получили php-драйверы из github, как указано на странице.
Позже я скопировал файл mongo.so из каталога расширений файлов php, работающих на моей виртуальной машине, в родительский os, и теперь все работает!