2021.01.27DockerでPHPの実行環境を作る方法を記載しています。phpMyAdminが入っている環境を作成します。xamppなどを使ったりローカルに直接インストールするなどの方法があります。今回はdockerを使用した環境を構築します。dockerのメリットとして、下記などがあります。構成するファイルさえ用意すれば、開発環境の共有が可能なので、おすすめです。World”が出力されるプログラムを作成してみます。作成してアクセスすると、このように表示されます。phpMyAdminが立ち上がっているかも画面から確認できるので、立ち上げた後に確認してみます。アクセスすると、このように表示されます。今回作成する環境について今回作成する環境を簡単に説明します。phpphpを実装するためのに入れています。今回は、nginxと連携するためにphp-fpmを使用しています。nginxnginxはhtmlやphpの出力結果をクライアントのブラウザ画面に表示するためのwebサーバーです。mysqlデータを保存しておくためのデータベースです。phpなどのプログラミング言語からアクセスして送信されたデータを保存したり参照したりするために使います。phpMyAdminmysqlのデータをweb画面で見るためのツールです。SQLを発行することもでき、データベースのデータ変更なども可能です。Dockerとはdockerは使用しているパソコンに仮想環境を作成するためのツールです。定義したファイルを元に実行することにより、簡単に開発環境を作成できます。Macを公式サイトのこちらからインストールします。赤枠の箇所をクリックすると、ダウンロードが始まるのでダウンロードが終わるまで待ちます。ダウンロードが終わったあとは、ダウンロードしたdmgファイルをクリックすると、このように表示されます。左から右にドラック&ドロップして、アプリケーションディレクトリにDockerを配置します。あとは、アプリケーションディレクトリにあるDockerをクリックすると起動します。このようにパソコンの右上にアイコンが表示されているので、動作していることが確認できます。Windowsは使えないようでした。Windowsを公式サイトのこちらからインストールします。赤枠の箇所をクリックすると、ダウンロードが始まるのでダウンロードが終わるまで待ちます。ダウンロードしたファイルをインストールして、windowsの常駐しているアイコンの箇所にdockerのアイコンが出ていると完了です。Dockerを使ってみるインストールしたDockerを使用して、PHPの実行環境を作成します。dockerコマンドが使えるか確認するターミナルを立ち上げて、Dockerコマンドが使えるようになっているか確認します。ターミナルについては、こちらを確認してください。【プログラミング入門】CUIとは?(macのターミナルの使い方)【初心者向け】CUIとは?(macのターミナルの使い方)この記事では、CUIとmacのターミナルについて書いています。CUIの簡単な説明と、macで実際にターミナルを立ち上げて、ひと通り操作してみます。CUIとは?CUIはキャラクターユーザーインターフェ...codelikes.com2020.11.06ターミナルを立ち上げたら、下記のコマンドを実行します。-vコマンドを実行すると、このようにバージョン情報が返ってきます。問題なくバージョンが確認できればOKです。cloneするかダウンロードします。cloneする場合は下記のコマンドを実行してください。https://github.com/YasuakiHirano/codelike_web_docker.git実行したディレクトリ配下にcodelike_web_dockerディレクトリが作成されます。cdコマンドで、移動して環境を立ち上げます。codelike_web_dockerdocker-composeコマンドで立ち上げるcodelike_web_dockerに移動した後に、下記のコマンドを実行します。-dすると、このようにインストールなどが走るので暫く待ちます。doneこのように、4つそれぞれ、doneが出てきていたら環境構築完了です。psコマンドを実行してみます。psすると、このようにコンテナが立ち上がっていることが確認できます。psで確認可能ですが、実際にphpが動いているか確認してみます。エディターを開いてください。簡単で有名すぎるプログラムを書きます。下記の内容をindex.phpという名前で作成して、codelike_web_dockerディレクトリ配下に保存します。World!!";保存したら、http://localhost:8080にアクセスしましょう。このように表示されたら成功です。phpMyAdminも画面で確認できるので、アクセスしてみましょう。http://localhost:8888にアクセスしましょう。このように表示されたら成功です。このポート番号(8080、8888)は.codelike_web_docker/docker-compose.ymlに定義してあるため、この番号になっています。docker環境の停止についてdockerの環境を使用しない場合は停止しておきましょう。下記のコマンドを実行すると停止できます。downまた、起動し直す場合は下記のようにupコマンドを使用します。-ddockerコンテナへのログイン・ログアウトdockerのphpコンテナにログインしてコマンドを実行する方法と、ログアウトについてです。phpコマンドを使いたい場合などはログインして、使うことができます。ログインする下記コマンドでphpのコンテナに入ることが可能です。/bin/bashphpコンテナと、ローカルのindex.phpを置いたディレクトリ配下は共有しているので、同じファイルが配置されています。下記のように、lsコマンドで確認すると表示されます。index.phpphpのバージョンを確認するにはphpコマンドにvオプションを付けます。Groupログアウトするexitコマンドを使うと、ログアウトして元の環境に戻ることが可能です。$この環境のドキュメントルートについてドキュメントルートはwebサーバーのファイル外部に公開するファイルを置いている場所になります。今回作成した環境でのドキュメントルートは`codelike_web_docker配下になります。index.phpをcodelike_web_dockerに配下に置いて、実行しました。index.phpという名前は特殊な名前で、nginxの設定で、そのディレクトリに来たら表示するようにしています。http://localhost:8080/でindex.phpが読み込まれました。index.php以外の名前で、PHPを実行した場合は、URLにファイル名をつけるようにしましょう。hello.phpという名前のファイルを作成して、ブラウザの画面で実行・表示したい場合ですがhttp://localhost:8080/hello.phpとしてください。その他のPHP入門のオススメ記事そのほかに、このブログで書いているオススメ記事をご紹介します。変数を使ってみよう作った環境を使用して、PHPの変数を使ってみましょう。【作って納得!PHP入門】変数を使ってみようこの記事では、PHPで変数を使う方法について書いています。最初にPHPの変数について解説して、その後にPHPの変数を使ったプログラムを書いて確認します。World"を画面に出すところまでやっ...codelikes.com2021.02.01PHP入門の記事一覧に戻るこちらに他の情報もありますので、合わせてご確認ください。初心者の方に向けて、PHPの入門記事を書いてみました!DockerでPHPを実行できる環境を作って学習を進めていきます。Dockerじゃなくても既にPHPの実行環境がある場合は、それぞれの記事で作成してるものをドキュメントルート(公開ディレ...codelikes.com2021.02.27独学に限界を感じたら、オンラインで学んでみよう!本当にわからない場合は、知っている人に聞くと近道になります。・PHP/Laravelのおすすめプログラミングスクール5選!PHP/Laravelのおすすめプログラミングスクール5選!PHPやLaravelが学べるプログラミングスクールを5つ選んで比較してみました。総合的にみると、Freeksがサブスク型で始められて、就職支援まで行ってくれるので良さそうでした!PHP/Laravelが学べるプログラミングスクール5選ゲス...codelikes.com2022.10.15PHPプログラミング初心者シェアするTwitterFacebookはてブPocketLINEコピーyasuakiをフォローするyasuakiコードライクLaravelLaravelのバリデーションについての記事5つ!LaravelでValidation(バリデーション)をする方法について書いている記事を5つまとめてみました。簡単な記事の説明と内部リンクを貼っています。内容としては下記になります。・通常のバリデーション・フォームリクエストでのバリデーショ...JavaScriptJavaScriptのisFinite関数の使い方!テストパターン9選!JavaScriptのisFinite関数の使い方について書いています。最初にisFinite関数の使い方について解説しています。その後に、いろいろな値を渡して、動作を確認してみました。stashの使い方について書いています。stashについて解説して、その後に実際にコマンドを使用してどうなるのかなど、詳細に書いてみました。最後に紹介したコマンドを見やすいように表にまとめてみました。G...PythonPythonで文字列を置換する3つの方法!(replace)Pythonで文字列を置換する方法について書いています。Pythonで文字列を置換する時には、下記のメソッドを使います。・replaceメソッド・translateメソッド・re.subメソッドサンプルコードはPythonのバージョン3.1...Python【Python入門】リスト(配列)の使い方!(取り出し/追加/削除)Pythonでリストを使う方法について書いています。最初にリストについて簡単に解説して、その後に実際に動作するコードを書いています。載せているコードはPythonのバージョン3.9.1で確認しました。Pythonのリスト(配列)とは?変数だ...PythonPythonで数値を文字列に変換する4つの方法!Pythonで数値を文字列に変換する方法について書いています。数値から文字列に変更するには、下記の方法を使います。・str関数・__str__メソッド・formatメソッド・f(フォーマット済み文字列リテラル)サンプルコードはPythonの...PythonPythonでprint関数を使って値を出力!サンプルコード8選!Pythonでprint関数を使って、値を出力する方法について書いています。その後にprint関数を使ったコードをいくつか書いて、挙動を確認してみました。サンプルコードはPythonのバージョン3.10.5で動作を検証しています。Pytho...PHPPHPで配列を結合(マージ)する方法!(array_merge)PHPで配列を結合する方法について書いています。PHPで作成した2つ以上の配列を結合する場合には、下記の関数を使います。PHP環境構築とても参考になりました。PMお世話になります。compose.ymlを実行中に以下のエラーが出て止まってしまいました。お手数ですが、回避策をご教示いただければ幸いです。composeでインストールするも、mysqlだけが起動できずにいます。ネットでも同様の状況になる方がいらっしゃり、サイトを参考に何度もトライしましたができませんでした。途方に暮れていた時にこちらのサイトにたどり着きました。なんとか起動させたいです。PMご覧いただきありがとうございます。エラーとしては.codelike_web_docker/php/logフォルダが共有されていないような感じですね。お使いのパソコンはWindowsでしょうか?こちらにあるように下記コマンドで、dockerボリュームを削除した後に再起動してみてはいかがでしょうか。PMお世話になっております。ご連絡ありがとうございます。当方、win10Proを使用しております。-fと同じことをしたと理解してよいでしょうか。先ほど再度docker-composeを実行し、インストールできました!この度はご教示くださり、ありがとうございました。PMお世話になります。Windowsでしたか。defaults」は設定やデータなど全てを初期化してくれるようですね。[volume名]は、dockerで作成された指定したvolumeを削除するので、範囲がもっと狭い感じですね。