Как заставить MCrypt и PHP работать вместе на CentOS - PullRequest
2 голосов
/ 31 августа 2009

Я установил mcrypt в CentOS (через yum), но когда я пытаюсь выполнить вызов dl () в A), я получаю сообщение в B).

  • A) dl (mcrypt.so) или умри ('The Mcrypt модуль не может быть загружен ['. префикс $ 'Mcrypt. , PHP_SHLIB_SUFFIX. ']');
  • Б) Модуль Mcrypt не может быть загружен [ mcrypt.so]

Теперь я знаю, что yum установил mcrypt, но я не знаю, в каком месте он его поместил. Могу ли я узнать это? Что еще более важно, как я могу заставить последний установленный mcrypt работать с моей системой PHP. Многие темы предлагают перекомпилировать PHP (например: http://forums.theplanet.com/index.php?showtopic=26527), но я не знаю, как это сделать с CentOS. Я также играл с моими путями библиотеки безрезультатно. Любая помощь будет принята с благодарностью.

Настройка

  • CentOS: Linux localhost.localdomain 2.6.18-128.1.6.el5 # 1 SMP Ср 1 апреля 09:10:25 EDT 2009 x86_64 x86_64 x86_64 GNU / Linux
  • mcrypt: mcrypt-2.6.8-1.el5.x86_64
  • PHP: php-5.1.6-23.2.el5_3.x86_64

Спасибо
Тим

Ответы [ 2 ]

2 голосов
/ 06 июня 2012

Войдите в систему как пользователь root или Super User и добавьте следующие команды


yum install php53-devel
yum install libmcrypt-devel
yum install gcc
wget http://museum.php.net/php5/php-5.3.3.tar.bz2
tar xvjf php-5.3.3.tar.bz2
cd php-5.3.3/ext/mcrypt/
phpize
aclocal
./configure
make
make install
echo "extension=mcrypt.so" > /etc/php.d/mcrypt.ini
service httpd restart

Ссылка Установить расширение PHP 5.3 mcrypt на Centos 5.6

0 голосов
/ 10 ноября 2010

Хорошо, я собираюсь предположить, что есть какая-то конкретная причина, по которой вы не можете использовать пакет, предоставляемый дистрибьюторами CentOS (см. здесь , например.) Я не знаю CentOS, но Я могу дать вам приблизительный план действий, которые, скорее всего, приведут к успешной сборке и установке модуля mcrypt для PHP.

  1. Получить копию исходного кода PHP, которая соответствует скомпилированной версии вашего дистрибутива (CentOS может иметь пакет для этого)

  2. Установите пакеты разработки PHP (вероятно, что-то вроде "php5-dev"), а также все зависимости для сборки PHP для вашего дистрибутива (в системах на основе Debian это делается через apt-get build-dep php5, не уверен, что правильное заклинание для CentOS).

  3. Из каталога верхнего уровня исходного кода PHP перейдите в ext/mcrypt. В этом каталоге запустите phpize (он должен был быть установлен вместе с вышеупомянутым эквивалентом CentOS php5-dev). Это сгенерирует скрипт конфигурации в ext/mcrypt, который позволит вам собрать mcrypt в качестве общего модуля.

  4. Из того же каталога ext/mcrypt введите ./configure --help и посмотрите доступные вам опции. С этого момента, это почти как любое другое приложение Unix: configure, make, make install.

...