У меня php версии 5.5.12 и wamp версии 2.4.9 и PHP Extension Build как API20121212, TS, VC11. Я использую эту dll 'php_mongo-1.5.5-5.5-vc11.dll' (переименован в php_mongo), но все же, когда я перезапускаю все мои сервисы, mongo db не отображается на phpinfo (). Любой указатель, где mi не так?
Я никогда не использовал MONGO, но мне было интересно посмотреть, есть ли там проблемы с ним с WAMPServer, поэтому я быстро установил, чтобы доказать, что он работает, и это так .
Вот список того, что я сделал, надеюсь, это поможет вам разобраться в том, что вы, возможно, сделали неправильно.
Сначала вам нужно загрузить менеджер Mongo Database и установить его. Загрузите с https://www.mongodb.org/downloads
Таким образом, вы можете поместить программное обеспечение самостоятельно, я бы загрузил ZIP и НЕ .MSI таким образом, вы не получите вашу систему, запутанную разработчиком .msi, и то, что, по их мнению, должно быть сделано для вашей системы, и вы находитесь в полном контроле.
Загрузите 32-битную или 64-разрядную версию в соответствии с вашей операционной системой и версией WampServer (32/64), которую вы используете.
Теперь Install – это всего лишь случай извлечения файлов из zip и размещения их где-то в вашей системе. Я предлагаю :-
Скопируйте папку bin
из экстракта в c:\wamp\bin\mongo\mongox.yz
(xyz, чтобы соответствовать версии загруженного вами mongo).
Создайте папку данных в этой папке, поэтому c:\wamp\bin\mongo\mongox.yz\data
Создайте папку данных для вашей первой базы данных в этой папке, так \wamp\bin\mongo\mongox.yz\data\db
Создайте конфигурационный файл для mongo в c:\wamp\bin\mongo\mongox.yz\mongod.cfg
и добавьте как минимум этот параметр:
ПРИМЕЧАНИЕ. Это только параметры, которые заставят его работать, а НЕ ОПРЕДЕЛЕННЫЙ УСТАНОВКА ПАРАМЕТРОВ!
systemLog: destination: file path: "c:/wamp/logs/mongod.log" logAppend: true timeStampFormat: iso8601-local net: bindIp: 127.0.0.1 port: 27017 storage: dbPath: "c:/wamp/bin/mongo/mongo2.6.6/data" directoryPerDB: true
Теперь, если вы хотите, чтобы mongodb работал как служба, создайте такой командный файл в папке C:\wamp\bin\mongo\mongox.yz
: –
Имя файла = install_service.cmd
mongod.exe --config "c:\wamp\bin\mongo\mongo2.6.6\mongod.cfg" --install --serviceName wampmongodb --serviceDisplayName wampmongodb sc config wampmongodb start= demand
Требуется пространство между start=
и demand
, а не опечатка
Для полноты также создайте файл удаления:
Имя файла = uninstall_service.cmd
mongod.exe --remove --serviceName wampmongodb
Теперь создайте 2 командных файла для запуска и остановки экземпляра mongodb
Имя файла = start_mongo.cmd
net start wampmongodb
Имя файла = stop_mongo.cmd
net stop wampmongodb
Теперь запустите командное окно с помощью (Запуск от имени администратора) и используйте эти командные файлы для установки и запуска вашего сервера MONGODB
CD \wamp\bin\mongo\mongox.yz #Install MONGO as a service install_service #Start the service start_mongo
Теперь проверьте папку c:\wamp\logs
и убедитесь, что в файле mongod.log нет ошибок
Еще находясь в командном окне, проверьте, работает ли mongo, попробовав несколько простых команд. Используйте инструкции здесь http://docs.mongodb.org/manual/tutorial/getting-started/
чтобы доказать, что все это работает.
СЕЙЧАС ДОБАВИТЬ PHP-расширение
Скачать с ' http://pecl.php.net/package/mongo '
Выберите нужную версию и щелкните значок Windows со словом DLL рядом с ним в столбце «Загрузки».
Это приведет вас к странице загрузки для этой версии расширения MONGO PHP.
Теперь вы должны выбрать ссылку для загрузки, которая соответствует версии расширения MONGO, которую вы хотите, и установить соответствующий (x86) для 32-разрядного WAMPServer или (x64) для установки 64-битных WAMPServer.
Вы должны нажать ссылку «DLL», иначе вы получите исходный код unix / linux.
Помните, что вы должны сопоставить 32 или 64 бит с версией загруженного вами WAMPServer
Поэтому, если вы используете Windows 64bit, но устанавливаете WAMPServer 32bit, вам нужна 32-битная версия расширения MONGO.
Также помните, что вам нужна версия Thread Safe (TS) для работы с конфигурацией Apache WAMPServer.
Извлеките zip-файл и скопируйте php_mongo.dll
в папку PHP, например C:\wamp\bin\php\phpx.yz\ext
Отредактируйте файл php.ini, чтобы добавить новое расширение. Чтобы использовать Mongo со своим веб-сервером (Apache), используйте меню wampmanager для редактирования php.ini, т. Е.
wampmanager -> PHP -> php.ini
и добавьте эту строку после всех других линий расширения
extension=php_mongo.dll
Чтобы использовать mongo со сценариями, запущенными из командной строки (PHP CLI), отредактируйте C:\wamp\bin\php\phpx.yz\php.ini
и добавьте в него добавочную строку.
Запустите Wampmanager. Или Перезапустите службу Apache. Это должно обновить конфигурацию WAMPServers и забрать новое расширение PHP, если не сделать это при запуске wampmanager:
wampmanager -> Apache -> Service -> Restart Service
Запуск localhost: –
wampmanager -> localhost
а затем нажмите ссылку phpinfo () на главной странице.
Теперь вы должны увидеть раздел «mongo» с некоторыми перечисленными опциями конфигурации. Если вы используете расширение PHP MONGO, оно активно.
ВАЖНЫЙ
Если вы используете Windows Server 2008 R2 или Windows 7, вам может потребоваться установить этот HotFix для решения проблемы с файлами с памятью. Запросите его здесь http://support.microsoft.com/kb/2731284/en-us
. Вы должны попросить об этом, и затем они отправят вам электронное письмо с сообщением о том, откуда его можно скачать.
Ссылка, которую они мне предоставили, была http://hotfixv4.microsoft.com/Windows 7/Windows Server2008 R2 SP1/sp2/Fix405791/7600/free/451412_intl_i386_zip.exe
Однако мне не нужно было устанавливать его, чтобы выйти на сцену, где был установлен MONGO, и запускать простые тесты из командной строки И через Apache и PHP.
в первую очередь вам нужно скачать последние файлы dll mongo из
https://s3.amazonaws.com/drivers.mongodb.org/php/index.html
разархивируйте загруженный файл, и вы увидите кучу таких файлов:
теперь пришло время решить, какой DLL-файл вам нужно использовать.
откройте свой phpinfo () и найдите компилятор слов. вы увидите следующее:
поэтому теперь, согласно моей версии компилятора (MSVC11), я должен выбрать файл с именем vc11 внутри их имени. согласно моей версии PHP, которая составляет 5.5.12. Я должен выбрать файл со словом 5.5 внутри их имени.
теперь найдите безопасность потока слов в phpinfo
и если он был включен, это означает, что вам нужно выбрать файл, который не имеет слова nts внутри своего имени, но если ваша безопасность потока была отключена, вам нужно выбрать файл со словом nts внутри их имени.
теперь в соответствии с вашей архитектурой установки вы можете выбирать файлы с x86_64 внутри своего имени.
после выбора соответствующего файла dll переименуйте его в php_mongo.dll и скопируйте его в каталог расширений php, который в основном расположен в папке C: \ wamp \ bin \ php \ php5.5.12 \ ext
теперь откройте файл php.ini и добавьте его в конец.
расширение = php_mongo.dll
в соответствии с
http://php.net/manual/en/mongo.installation.php
для установки mongo на windows вы также должны включить libsasl.dll в свою систему PATH.
Файл libsasl.dll в основном расположен в
C: \ WAMP \ Bin \ PHP \ php5.5.12
добавьте этот путь в свою систему PATH.
перезагрузите ваш wamp, обновите страницу phpinfo, и вы увидите следующее:
это означает, что вы правильно установили mongo. 🙂
Если вы все еще сталкиваетесь с проблемой, выполните следующие два правила:
Обновления для версии PHP 7. Согласно документации, мы должны скачать mongodb-1.2 . Вы можете скачать его здесь на основе вашей версии PHP.