Docker で hyperf を開発する完全な使用例の詳細な説明

Docker で hyperf を開発する完全な使用例の詳細な説明

ハイパーフ公式サイト
Hyperf 公式ドキュメントのインストール

1. Dockerの使用

  • docker search は hyperf イメージをリストします
  • Docker pullはイメージをローカルにダウンロードします
  • イメージを実行して、ディレクトリを現在のディレクトリの下のフォルダにマウントし、/bin/shと同じように実行します。
  • ローカルにマウントされているhyperf-skeletonディレクトリに入る
$ docker 検索 hyperf 
$ docker pull hyperf/hyperf 
$ docker run -v $PWD/:/hyperf-skeleton -p 9501:9501 -it --entrypoint /bin/sh hyperf/hyperf
$ cd ハイパースケルトン

2. イメージコンテナが起動したら、コンテナにComposerをインストールします。

まず、DockerコンテナにComposerをダウンロードします

$ wget https://mirrors.aliyun.com/composer/composer.phar

3. 実行権限を変更する

この操作は、Composerがルート権限の実行を許可しないという制限を解決するためのものです。

同時に、ユーザーを切り替える際に直接操作することができます

777認証は本番環境では推奨されません

$ chmod -R 777 ./composer.phar

4. composerをbinディレクトリに移動し、名前をcomposerに変更します。

777認証は本番環境では推奨されません

$ mv composer.phar /usr/local/bin/composer

5. ルートパスワードを変更する

同時に、ルートパスワードがわからないため、パスワードを変更するには2回入力する必要があり、表示されません。注意してください

$ パスワード ルート

6. Linuxディストリビューションのバージョンを確認できます(コマンドは異なります)

公式イメージはLinux alpineです

$ cat /etc/os-release

7. 指定したGIDでグループを作成する

公式イメージは Linux alpine です。コマンドは多くの友人が使用する Centos コマンドとは異なります。独自のイメージを作成した場合は、ディストリビューション バージョンのコマンドに従ってください。

$ グループを追加 -g 10001 -S www

8. 指定したUIDでユーザーを作成する

指定されたユーザー グループに属するようにシェルを指定します。

$ adduser www -u 20001 -D -S -s /bin/bash -G www

9. 新しく作成したユーザーがsu -を使用してrootユーザーになることを許可します。

$ chmod 4755 /bin/busybox

10. wwwユーザーに切り替えてcomposerを実行する

su www ユーザーを切り替える
whoami 現在のユーザーを表示

$ ス www
$ だれだ

11. ComposerイメージをAlibaba Cloudイメージに設定して国内ダウンロードを高速化する

もちろん、Alibaba Cloud の画像を使用するかどうかは個人のニーズによります (広告の疑いはありません)

$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer

12. Composer経由でhyperfスケルトンをインストールする

インストールするときは、個人的なニーズに応じて選択してください。

$ composer でプロジェクト hyperf/hyperf-skeleton を作成します

13. 設定やその他の情報を確認する

一般的に、hyperfの公式ソースイメージは構成されています。以下はswooleを表示するためのコマンドです。

$ php --ri swoole
$ php -i | grep ini

14. php.iniに次の情報を記入します。

Off の大文字の O に特に注意してください。

拡張子="grpc.so"
拡張子="redis.so"
拡張子="swoole.so"
swoole.use_shortname = 'オフ'

15. 互換性の問題がある拡張機能

  • HyperfはSwooleコルーチン実装に基づいているため
  • Swoole 4 で導入されたコルーチン機能は PHP では前例のないものなので、多くの拡張機能との互換性の問題が残っています。
  • 以下の拡張機能 (これらに限定されません) は、特定の互換性の問題を引き起こすため、使用したり共存したりすることはできません。
  • xhprof
  • xデバッグ
  • ブラックファイア
  • トレース
  • uopz

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • PhpStorm で Hyperf をエレガントにデバッグする方法
  • PHPフレームワークの知識ポイントの整理と補足
  • PHP での Workerman フレームワークの例の説明
  • 一般的に使用されている7つのPHPフレームワークの長所と短所について簡単に説明します。
  • PHPフレームワークCI(codeigniter)の自動読み込みと自律オブジェクト作成操作例の分析
  • ThinkPHP5フレームワークでJWTを使用する例
  • Thinkphp5フレームワーク例外処理操作例の分析
  • Thinkphp5フレームワークにMarkdownエディタを導入する例
  • Hyperfフレームワークのスキャン時間を短縮することについての簡単な説明

<<:  MySQLステートメントを監視する方法の詳細な説明

>>:  React でのポータルとエラー境界処理の実装

推薦する

Javascript を使用して、スライドバー効果のあるスライドナビゲーション プラグインを開発します。

目次1. はじめに2. 使用方法3. 開発プロセス1. モデル例2. イベントとアニメーション4. ...

Dockerコンテナがホストポートにアクセスできない場合の解決策

最近、仕事中に問題が発生しました。Docker コンテナがホストの redis にアクセスできず、t...

Google Web Fonts でウェブサイトに無制限のフォントを追加

長い間、リソースの制約により、使用できるフォントが限られていたため、Web サイトの開発は妨げられて...

CSS継承方法

次の背景画像を持つ div があるとします。 次の反射効果を作成します。 方法はたくさんありますが、...

MySQLでユーザーを作成し、ユーザーに権限を付与する方法の詳細なチュートリアル

目次ユーザー管理新しいユーザーを作成するユーザー名の変更ユーザーのパスワードを設定するルートパスワー...

CSS3 でテキスト ストロークを実装する 2 つの方法 (要約)

質問最近、以下に示すように、テキストストローク効果を実現するという要件に遭遇しました。 解決策1まず...

canvas.toDataURL image/png エラー処理方法の推奨

問題の背景:再生中のビデオのスクリーンショットを撮る必要があります。ビデオはビデオタグを使用して再生...

MySQL クロスデータベーストランザクション XA 操作の例

この記事では、例を使用して、MySQL のデータベース間トランザクション XA 操作について説明しま...

ApacheとTomcatを組み合わせて静的状態と動的状態を分離する方法

実験環境ApacheとTomcatは両方ともIPアドレス192.168.153.136のホストにイン...

MySQL 最適化における B ツリー インデックスの知識ポイントのまとめ

SQL を最適化する必要があるのはなぜですか?当然ですが、SQL ステートメントを記述する場合、次の...

Zookeeper 不正アクセス テストの問題

目次序文Zookeeper サービスのオープンを検出情報を入手する接続テスト接続先修理計画参照する序...

Mysqlクエリ条件で文字列の末尾にスペースがあっても一致しない問題の詳細な説明

1. テーブル構造テーブル人id名前1あなた2あなた(スペース) 3あなた(スペース2つ) 2. ク...

VMware Workstation と vSphere 間で仮想マシンを移行する (画像とテキスト)

1. Workstationで仮想マシンのハードウェアバージョンを変更するWorkstation ...

vue.config.js パッケージ最適化構成

Baiduの情報は多様すぎて目が回ります。心配しないでください。私はあなたのためにそれを体験しました...

Vue カードスタイルのクリックして切り替える画像コンポーネントの使用方法の詳細な説明

この記事では、vueカードスタイルのクリックして切り替える画像コンポーネントを参考までに紹介します。...