なまけものノこえだめなまけものノこえだめインターネッツという大海原にクソみたいな投稿を繰り返すのは申し訳なく思い、インターネットの片隅に肥溜めを配置しました。非常に環境に優しいブログです。HatenaRSSFeedly前回記事からの続きです。引き続きPHPの公式イメージを読み解いていきます。Dockerイメージ6層目(90行目)から読み進めていきます。/usr/local/bin/phpのソースを展開するスクリプトを/usr/local/binにコピーします。PHPのソースファイルを展開しています。ソースファイルを精査し、Makefileを作成しています。こちらのサイトにソースファイルからビルドする手順と説明が体系的に記載されており、非常に参考になります。オプションについては、説明を割愛します。Dockerfile内の説明にもありますが、あとから導入が困難なものは基本的に有効化されているようです。s390xではpcre-jitをサポートしていないようで、s390xの場合には–without-pcre-jitオプションをつけています。s390xはIBMのCPUアーキテクチャで、pcre-jitはこちらのページがわかりやすいです。makeコマンドでMakefileを生成しています。makeの-jオプションについてはこちらに記載があるように、コンパイル時の並列性を指定できます。この中では、nprocでcpuコア数を取得して引数として与えています。シンボルファイルを削除しています。シンボルファイルについてはこちらがわかりやすいです。onのままとなるようで、production環境では望ましくないのではないかという意見から、設定変更が容易になるように、デフォルトの設定ファイルのテンプレートをコピーしているみたいです。production環境で利用する場合は、設定ファイルをコピーする必要があることに留意します。利用して、ソースファイルを削除しています。apkに引数として渡してインストールしています。runDeps変数を設定する箇所では、/usr/local配下について、scanelfコマンドを利用して、バイナリファイルを読み込み/整形しています。trコマンドで、カンマ(,)を改行(\n)に変換し、sortコマンドで重複行を省いた後、共有ライブラリパス(/usr/local/lib)で実行した結果が正常終了(0)なら次の処理へ(next)、それ以外なら、runDeps変数に設定という処理になっています。scanelfコマンドのmanページはこちらに、elfについてはこちらに、awkコマンドについてはこちら、awkコマンドで利用するsystem関数はこちらに記載があります。ビルド時に利用したパッケージを削除します。peclのアップデートを実施します。peclについては、こちらがわかりやすいです。issueでは、ビルド時にはエラーが出ていなかったが、ビルド後にpeclアップデートしてねのwarnigが出たので入れたよ(超意訳)的なことが書いてあります。–versionコマンドで動作することを確認しています。PHP-FPM公式イメージ(3)前回記事からの続きです。引き続きPHPの公式イメージを読み解いていきます。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。この記事のトラックバックURLプロフィールIT業界に生息するnamakemonです。ナマケモノのようにマイペースにゆったりと投稿しています。6.7をインストールしてみた。