Memcache と memcached はどちらも Memcached サーバーの PHP 拡張機能です。その中で、memcache は memcached よりも早く登場したため、一部の古いコードではまだ memcache 拡張機能が使用されている可能性があります。ニーズに応じてインストールできます。ここでは両方のインストール方法を説明します。
Memcached は高性能分散メモリ キャッシュ サーバーであり、PHP memcache と memcached はどちらも Memcached サーバーの PHP 拡張機能です。その中で、memcache は memcached よりも早く登場したため、一部の古いコードではまだ memcache 拡張機能が使用されている可能性があります。 Memcached はその後登場し、ほとんどのフレームワークは現在比較的普及している memcached をサポートしています。
最初は memcached です。この拡張機能には libmemcached クライアント ライブラリが必要です。そうでない場合は、次のエラーが発生します。
libmemcached の場所を確認しています...構成: エラー: memcached のサポートには libmemcached が必要です。libmemcached ヘッダーとライブラリが配置されるプレフィックスを指定するには、-with-libmemcached-dir=
を使用してください。
エラー: `/var/tmp/memcached/configure –with-libmemcached- dir=no' failed
次の方法でインストールできます
[root@lnmp lnmp.cn]# yum install libmemcached libmemcached-devel
And memcache このモジュールは関数 zlib を使用してデータ圧縮をサポートするため、このモジュールをインストールするには Zlib モジュールをインストールする必要があります。それ以外の場合は、次のエラーが発生します:
checking for the location of zlib…configure: error: memcache support require ZLIB. Use –with-zlib-dir=
to specprefix where ZLIBインクルードとライブラリが見つかりました エラー: `/var/tmp/memcache/configure –enable-memcache-session=No' failed
yum を使用して次のようにインストールできます。 :
[root@lnmp lnmp.cn]# yum install zlib zlib-devel
PECL を使用してインストールしてみてください。 PECL 上の memcached のアドレス はい:
https://pecl.php.net/package/memcached
# プロンプトは明らかです。PECL の memcached 拡張機能は、PHP 5.2 以降および 6.00 未満のバージョンのみをサポートします。まだPHP7にアップデートされていません。しかし幸いなことに、github の PECL の memcached ページにリンクがあります: https://github.com/php-memcached-dev/php-memcachedここ コードにはすでにPHP7をサポートするブランチ。ここで、ソース コードを PHP ソース コードの ext ディレクトリにダウンロードします。[root@lnmp lnmp.cn]# pecl install memcached
pecl/memcached には PHP が必要です (バージョン >= 5.2.0、バージョン
有効なパッケージが見つかりません
インストールに失敗しました
##[root@localhost vagrant]
[root@lnmp lnmp.cn]# cd /usr/local/src/php-7.0.8/ext/ [root@lnmp ext]# git clone https://github.com/php-memcached-dev/php-memcached memcached[root@lnmp ext]# cd memcached/checkout to php7 ブランチ:
[root@lnmp memcached]# git checkout php7ブランチ php7 は、オリジンからリモート ブランチ php7 を追跡するように設定されています。 新しいブランチ 'php7' に切り替えました[root@lnmp memcached]# /usr/local/php7/bin/phpize#[root@lnmp memcached]
#phpize を使用してインストールします。PHP は /usr/local にインストールされています/php7
[root@lnmp memcached]# make[root@lnmp memcached]# ./configure –with-php-config =/usr /local/php7/bin/php-config
次に、make と make install
[root@lnmp memcached]# make install
[ root@lnmp memcached] # ls /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/共有拡張機能のインストール: /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/
[root@lnmp memcached]
#memcached がインストールされ、拡張ファイルがプロンプトされたディレクトリに配置されていることがわかります:
memcached.so opcache.a opcache.so
[root@lnmp memcached]
#最後のステップは、php.ini に memcached.so を導入することです
#[root@lnmp memcached]# vim /usr/ local/php7/lib/php .ini
追加:
extension=memcached.so
php-fpm を忘れずにリロードしてくださいtake effect
[root@lnmp memcached]# systemctl reload php-fpm
phpinfo ページを開くと、memcached 拡張機能が正常にインストールされていることがわかります。
memcache 拡張機能をインストールします。
[root@lnmp memcached]# pecl install memcache
しかし、それも失敗しました
/tmp/pear/temp/memcache/memcache.c:40:40: 致命的なエラー: ext/standard/php_smart_str .h: そのようなファイルまたはディレクトリはありません
#include "ext/standard/php_smart_str.h"
[memcache.lo] エラー 1
エラー: `make ' 失敗しました
PECL が PHP7 での memcache 拡張機能のインストールをサポートしていないことも理由のようです。https://pecl.php.net/package /memcache2013年以降更新されていません。この道が失敗した場合は、別の方法を見つけて、github で運を試すしかありません。 pecl memcache を検索します。
https://github.com/search?utf8=✓&q=pecl memcache&type=Repositories&ref=searchresults
最初のもの (https://github.com/websupport - sk/pecl-memcache) は必要なもので、コードはすでに PHP7 をサポートしています。コードをダウンロードしてすぐにコンパイルします:
#[root@lnmp memcached]# cd ../ [root@lnmp ext]# git clone https://github.com/websupport-sk/pecl-memcache memcache[root@lnmp ext]# cd memcache
#phpize インストールを使用します。手順は memcached とまったく同じです。
[root@lnmp memcache]# /usr/local/php7/bin/phpize
[root@lnmp memcache] ]# ./configure – with-php-config=/usr/local/php7/bin/php-config
[root@lnmp memcache]# make[root@lnmp memcache] # make install共有拡張機能のインストール: /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/[root@lnmp memcache]
#memcached と同様に、php.ini に memcache.so を導入します。
[root@lnmp memcache]# vim /usr/local/php7/lib/php.ini
Join:
extension=memcache.so最後に php-fpm
[root@ lnmp memcache]# systemctl reload php-fpmこれで完了です。phpinfo ページで、memcahce と memchaced が正常にインストールされたことがわかります
推奨学習:
php ビデオ チュートリアル以上がPHP7 で memcache と memcached 拡張機能をインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。