1

次のエラーが表示されます。

PHP 警告: PHP の起動: 動的ライブラリ '/usr/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so' を読み込めません - /lib64/libc.so.6: バージョン `GLIBC_2.14 ' 見つかりません (/usr/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so で必要)

mcrypt には glibc 2.14 が必要ですか?

CentOS 6.4(CentOSの最新の安定バージョン)を実行しており、glibc 2.12が付属しています(OSのコア部分としてglibcを実際にアップグレードすることはできません。変更すると、多くのものが壊れる可能性があります)

このような状況で PHP 5.5.4 で mcsypt を実行するにはどうすればよいですか?

現在の構成 (phpinfo 出力) はこちらです。

4

3 に答える 3

3

VPS 開発サーバーに mcrypt をインストールする際にも問題が発生していたので、誰かに役立つことを期待してソリューションを投稿すると思いました。Centos OS 6.5 を実行しており、Webtatic EL yum リポジトリを使用して PHP を 5.5.13 にアップグレードしました。https://webtatic.com/packages/php55/

最初にサーバーに接続します

ssh admin@domain.com

最初に私はやろうとしていました(これはうまくいきませんでした):

yum update
yum install php-mcrypt

次に、php -v を見て、上記のコードが 5.3 から依存関係をロードしようとしていたため、php-common が競合していることに気付きました。

次に、次の正しいコマンドを実行しました。

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
yum update
yum install php55w-mcrypt
service httpd restart

これは私にとって完璧に機能しました。

また、この問題を調査しているときに、次の行を追加して .ini ファイルに手動で拡張子を追加する必要がある人もいましたが、これを行う必要はありませんでした。

extension=mcrypt.so

phpinfo(); を見ると、php.ini ファイルの場所を見つけることができます。ロードしている構成を確認します。私にとって、次のiniファイルがロードされていました:

/etc/php.ini
/etc/php.d/mcrypt.ini
/var/www/vhosts/system/domain.com/etc/php.ini

インストールが成功すると、echo phpinfo(); で拡張子が表示されます。

PHP情報のmcrypt

于 2014-08-06T15:53:08.863 に答える
2

yum を使用して php-mcrypt をインストールしてみてください。これにより、実行に必要な他のライブラリが取り込まれます。

yum install php-mcrypt
于 2013-09-27T15:41:06.473 に答える
0

あなたの更新を考慮すると、更新された GLIBC ライブラリによって作成された別の PHP ソースから構築された MCrypt 拡張機能を使用しようとしているように見えます。私が見ることができる唯一の適切な解決策は次のとおりです。

続行する前に、まず libmcrypt、libmcrypt-devel、および mcrypt がインストールされていることを確認する必要があります。CentOS リポジトリを確認します。

  1. http://php.netから PHP ソースをダウンロードします。
  2. ダウンロードしたソースを解凍するtar -zxf php-5.5.4.tar.gz
  3. ソースにcdcd php-5.4.4
  4. 現在の文字列をコピーします./configure。全部!
  5. Mcrypt のサポートを追加し--with-mcrypt=/usr、新しい構成コマンドを実行します
  6. メイク && メイク インストール
  7. Apache と PHP-FPM を再起動します

これにより、CentOS がビルドしたのと同じように現在の構成が保持されますが、必要に応じて MCrypt の追加サポートが適用されます。これが完了したら、php.ini ファイルで MCrypt 拡張機能を有効にする必要はありません。MCrypt 拡張機能は PHP 自体に組み込まれ、自動的にロードされるためです。

疑問がある場合は、http: //us1.php.net/manual/en/mcrypt.installation.phpでインストールを確認することもできます。

于 2013-09-27T15:36:05.940 に答える