MAC版MAMP環境ではPHP 7である.x redis拡張およびmemcached拡張のインストールプロセス



MacBookにMAMP開発環境をインストールし、PHPのWebサイトプロジェクトをデバッグします.MAMP&MAMP Proソフトウェアは、Apache+MySQL+PHP+ダイナミックDNS構成で構成されたMACの下で動作するWebサイト統合環境ソフトウェアです.PHPのバージョンは最新版に動的に切り替えることができ、機能が強く、構成が簡単で、ローカルデバッグに非常に便利です.
図:MAMPは1つの仮想ホストとウェブサイトのインストールを設定します
その後、PHP 7のバージョンの下にRedisの拡張プログラムをインストールして、自分のプログラム開発に協力したいと思っています.仕方なくこのグループの友达が何度もインストールに失敗した後、terminal(コマンドライン)が投げた大きなエラーメッセージに直面したときの苦痛を解放するために私を見つけた.今回の解決過程で自分も一度勉強を終えたことに相当し、今発見した問題と注意すべきことを文章に書いた.
MAC版MAMP環境ではPHP 7である.x redis拡張をインストールするプロセス.
一、まずインストール依存の問題を解決する
1、(MacコンピュータにHomebrewパッケージマネージャがインストールされている場合は無視できます)MACコンピュータにHomebrewがインストールされていない場合は、まずHomebrewパッケージマネージャをインストールする必要があります.後のステップで./configureコマンドやredisサービス側をインストールするコマンドなどはbrewがコンポーネントをインストールする必要があります.
terminalを開き、Homebrewをインストールします.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
以上のコマンドをターミナル(terminal)に貼り付けます.参考:https://brew.sh/index_zh-cn.html .
スクリプトは実行中に何度も一時停止し、それが何をするかを説明します.同時に、実行しながら、インターネットでリソースをダウンロードする必要があります.ダウンロード速度は速くありません(国内のネットワークが海外のサイトリソースにアクセスしているため)、インストールが完了するのを辛抱強く待ってください.
2、(Macコンピュータにconfigure構成コンポーネントがインストールされている場合は無視できます)brewコマンドを使用してconfigure構成コンポーネントをインストールします.
brew install autoconf wget
二、php-redis拡張コンポーネントのインストールパッケージをダウンロードする
端末でgit cloneコマンドを使用してphp-redis拡張コンポーネントのインストールパッケージをダウンロードします.
git clone https://github.com/nicolasff/phpredis.git
もちろんgitを使っていなくても大丈夫で、自分で公式サイトを探してダウンロードすることができます:tryhttps://github.com/nicolasff/phpredis.git .
図:GitHubのphpredis倉庫でdeveloをダウンロード
ダウンロードが完了すると、インストールパッケージファイルが自動的に解凍されます.自動的に解凍しない場合は、手動で解凍するかunzip phpredisを使用します.zipコマンドは解凍します.
解凍後cdコマンドを使用してphpredisディレクトリにアクセスします.
cd phpredis/
注意:phpredis/ディレクトリのパスが間違っている場合は、./phpredis-php7/.
三、phpizeコマンドコンパイルを用いてconfigureプロファイルを生成する
1、phpizeコマンド:
このとき、端末に表示される現在のディレクトリはphpredisであり、端末では以下のコマンドを実行する.
/Applications/MAMP/bin/php/php7.2.1/bin/phpize --with-php-config=/Applications/MAMP/bin/php/php7.2.1/bin/php-config
このエラーが発生した場合:
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.
このコマンドはautoconfツールに依存するため、autoconfツールをインストールする必要があります(最初のステップの2点を参照).
実行に成功すると、次のメッセージが表示されます.
図:phpizeコマンドが正常にスクリーンショットを実行しました.
2、本ステップの注意事項:
このステップで注意すべき問題は、phpizeコンパイルコマンドを使用する場合は、必ず/APplications/MAMP/bin/php/php 7を使用することである.2.1/bin/phpizeこのアプリケーションMAMPの下のphp 7.xのbinディレクトリはphpizeを実行します.
MACはphp環境を持っているので、MAMPを使用してphpをコマンドラインに割り当てることができます.この場合、あなたが使用するphp-vはMAMPが環境変数に加えたphpバージョンですが、phpizeコマンド(アプリケーションMAMPの下のphp 7.xのbinディレクトリのphpizeを指定していない)を直接使用すると、phpizeがコンパイルされるのはシステムが持っているphp環境になります.phpizeコンパイル拡張をそのまま使用する場合は、システムに付属のPHP環境でコンパイルされるので、phpizeコマンドを使用する場合は必ずフルパスを使用することに注意してください.また、上のphp/php{バージョン}/ディレクトリパスは私とは異なる可能性がありますので、自分でチェックして調整してください.
四、phpredisの構成、コンパイル、インストール
1、phpredisコマンドを設定します.
このとき、端末に表示される現在のディレクトリはphpredisであり、端末では以下のコマンドを実行する.
./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.1/bin/php-config
エラーが発生した場合、「指定されたディレクトリが見つかりません」などのメッセージが表示されます.このコマンドはautoconfツールに依存しているため、autoconfツールをインストールする必要があります(最初のステップの2点を参照).
実行に成功した場合は、次のようになります.
図:./configureコマンドは正常にスクリーンショットを実行しました.
2、phpredisコマンドのコンパイルとインストール(makeはコンパイル、make installはインストール).
make && make install
インストールに成功すると、phpredis/modulesディレクトリの下にredisが生成されます.soファイル.同時にsoは自動的に/APplications/MAMP/bin/php/php 7にコピーする.0.8/lib/php/extensions/no-debug-non-zts-20171025/ディレクトリの下(extensionsの後に日付部分のあるレベルのディレクトリは私とは違うかもしれませんが、自分のパソコンの上にあるものを基準にしてください).ディレクトリの下にredisが存在しない場合.so,phpredis/modulesディレクトリの下のredisを手動で行うことができる.so過去をコピーします.これでphpredis拡張がインストールされました.
五、phpを修正する.ini
対応するphpバージョンでphpを直接変更する場合.iniは失効します(ここで穴に遭遇しました)、MAMP Proソフトウェアでphpを開くことをお勧めします.iniファイルは、端末でvimコマンドを使用してphpを編集するため修正する.iniファイルまたは手動で開いてphpを編集します.iniファイルの保存後は機能しない可能性があるので、MAMP Proソフトウェアでphpを開くことをお勧めします.iniファイルと変更:
図:MAMPでphpを開く.ini.
php.iniで「extension=」を検索し、後に「extension=redis.so」という行を追加し、保存後にMAMPを再起動します.
図:phpを修正する.iniファイル.
六、redisコンポーネントが正常にインストールされたかどうかを検査する
新しいphpinfoTestを作成します.phpファイル、入力:
保存後に実行し、redisキーがあるかどうかを確認します.
図:phpinfoのredis情報.
七、redisのテスト
1、もしあなたのMACコンピュータにredisサービス端がインストールされていない場合、brewでredisサービス端プログラムをインストールすることができて、とても便利です:
brew install redis//redisサービスエンドプログラムredis-server/usr/local/etc/redisをインストールします.conf//redisサービス側プロセスredis-cli ping//redis-cliコマンドを使用してredisクライアント通信を開始
電源を入れてredisサービスを起動したい場合は、redisをシステムの自己起動サービスに追加できます.
brew services start redis
2.redisキャッシュが機能するかどうかをテストする
新しいredisTestを作成します.phpファイル、入力:
connect('127.0.0.1', 6379);$redis->set('test',"hello world");$result = $redis->get('test');var_dump($result);?>
上のphpファイルを実行しても実行できない場合は、6379ポートが開いているか、閉じてからredis-serverを開くかを見てください.
redis-cli-p 6379 shutdown//redisサービスを閉じる
通常はstring(11)「hello world」と出力されます.図のように:
phpインストールmemcached拡張のような流れも同様です
PHP接続Memcachedサービス
前の章ではMemcachedサービスのインストール方法について説明しましたが、PHPがMemcachedサービスをどのように使用するかについて説明します.
PHP Memcache拡張インストール
PHP Memcache拡張パッケージダウンロードアドレス:http://pecl.php.net/package/memcache、最新の安定パッケージ(stable)をダウンロードできます.
wget http://pecl.php.net/get/memcache-2.2.7.tgz               
tar -zxvf memcache-2.2.7.tgz
cd memcache-2.2.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

注意:/usr/local/php/はphpのインストールパスであり、インストールした実際のディレクトリに基づいて調整する必要があります.
インストールに成功するとmemcacheが表示されます.so拡張の位置、例えば私の:
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

最後にphpに拡張子を追加してphpを開く必要があります.iniファイルは、最後に次の内容を追加します.
[Memcache]
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension = memcache.so

変換元:http://baijiahao.baidu.com/s?id=1602787432736329481&wfr=spider&for=pc