2

CentOSに(yum経由で)mcryptをインストールしましたが、A)でdl()呼び出しを実行しようとすると、B)にメッセージが表示されます。

  • A)dl(mcrypt.so)またはdie('Mcryptモジュールをロードできませんでした['。$prefix。'mcrypt。'。PHP_SHLIB_SUFFIX。']');
  • B)Mcryptモジュールをロードできませんでした[mcrypt.so]

これで、yumがmcryptをインストールしたことはわかりましたが、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 Wed Apr 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

ありがとう
ティム

4

2 に答える 2

2

root またはスーパー ユーザーとしてサーバーにログインし、以下のコマンドを追加します。


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

参照Centos 5.6 に PHP 5.3 mcrypt 拡張機能をインストールする

于 2012-06-06T10:51:29.293 に答える
0

CentOS ディストリビューターが提供するパッケージを使用できない特定の理由があると仮定します (一例として、ここを参照してください)。 PHP 用の mcrypt モジュールのビルドとインストールが成功する可能性が最も高い手順です。

  1. ディストリビューションのコンパイル済みバージョンに一致する PHP ソースのコピーを取得します (CentOS にはこのためのパッケージがある場合があります)。

  2. PHP 開発パッケージ (おそらく「php5-dev」のようなもの) と、ディストリビューション用の PHP をビルドするためのすべての依存関係をインストールします (Debian ベースのシステムでは、これは 経由apt-get build-dep php5で行われますが、CentOS の正しい呪文はわかりません)。

  3. PHP ソースの最上位ディレクトリから、cd でext/mcrypt. このディレクトリで、実行しますphpize(これは、前述の CentOS に相当するものと一緒にインストールされているはずですphp5-dev)。ext/mcryptこれにより、mcrypt を共有モジュールとしてビルドできる構成スクリプトが生成されます。

  4. 同じext/mcryptディレクトリから、./configure --help使用可能なオプションを発行して確認します。ここから先は、他の Unix アプリとほぼ同じです: configure, make, make install.

于 2010-11-10T03:55:44.270 に答える