Включение или компиляция PHP с помощью mcrypt? - PullRequest
2 голосов
/ 24 ноября 2011

phpMyAdmin утверждает, что расширение mcrypt отсутствует. У меня есть php_mcrypt.dll (в папке ext), а также libmcrypt.dll (в корневой папке PHP), и я включил

extension=php_mcrypt.dll

в файле php.ini, хотя phpMyAdmin все еще заявляет, что ему его не хватает.

Теперь мне интересно, он включен или все еще не включен? Документация гласит, что вам нужно скомпилировать PHP с помощью mcrypt, как именно это делается?

Я скачал libmcrypt-2.5.8, но не вижу файлов, которые мог бы установить.

Ответы [ 3 ]

1 голос
/ 24 ноября 2011

В бинарных файлах PHP / 5.3.8, включенных в установщик * .MSI, у вас уже должно быть расширение Mcrypt, поскольку оно объединяет статическую версию расширения, которую вы даже не можете удалить (так как нет отдельной DLL).Если у вас есть файл php_mcrypt.dll в вашем каталоге ext, файл libmcrypt.dll в вашем корне PHP и строка extension=php_mcrypt.dll в вашем файле php.ini, это, возможно, остаток от какой-либо другой более старой версии.

В выводе phpinfo() должна быть следующая информация:

Дата сборки: 23 августа 2011 г. 11: 47: 20
Компилятор: MSVC9 (Visual C ++ 2008)
Архитектура: x86

Команда настройки

cscript / nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--disable-isapi "" --without-mssql "" --without-pdo-mssql "" --without-pi3web "" --with-pdo-oci = D: \ php-sdk \ oracle \ instantclient10 \ sdk,shared "" --with-oci8 = D: \ php-sdk \ oracle \ instantclient10 \ sdk, общая "" --with-oci8-11g = D: \ php-sdk \ oracle \ instantclient11 \ sdk, общая "" --enable-object-out-dir = .. / obj / "" --enable-com-dotnet "" - with-mcrypt = static "" --disable-static-analysis "

Зарегистрированные потоковые фильтры

convert.iconv. , mcrypt. , mdecrypt. *, string.rot13, string.toupper, string.tolower, string.strip_tags, convert. , потреблено, dechunk, zlib.

... а также полная таблица с названием mycrypt .

Мой совет - сделать резервную копию ваших настроек, удалить PHP из панели управления, удалить то, что осталось в каталоге PHP, и выполнить чистую установку.

0 голосов
/ 24 ноября 2011

Вы можете проверить, установлена ​​ли библиотека / включена, проверив вывод функции phpinfo

Создайте файл с именем phpinfo.php и добавьте следующий контент.

<?php

echo phpinfo();

?>

Проверьте вывод из браузера.

Чтобы скомпилировать php с поддержкой mcrypt, вы должны передать параметр --with-mcrypt (не уверен, что это правильно, но вы можете узнать это с помощью команды ./configure --help) при установке php из исходного кода.

Затем перезапустите сервер apache.

Подтвердите, проверив вывод phpinfo.

ОБНОВЛЕНИЕ:

У меня нет реального опыта работы с php в windows. Пожалуйста, попробуйте эту ссылку .

Приветствия

0 голосов
/ 24 ноября 2011
...