PHPのドッカー画像の複数のバージョンを作成する必要性に起因する最近のプロジェクトは、製造プロセスがあるため拡張機能をインストールする際にYUMプラグインはPHPでなる、YUM対応するソースを見つけることは容易ではない、不便なPHPベースの方法をインストールする方法の、紆余曲折として記述することができドッカーミラーインストールソースコンパイラに方法を実装します。
いくつかの手順についてがあります。
- PHPのyumを希望コンパイルパッケージがインストールされている、注目のEPELリリース
、およびそれ以外の場合はエラーがインストールパッケージを見つけることが報告され、上記のコマンドに従って設置2 EPEL-リリースにlibmcryt-develのはyumコマンドが必要です
yumのパッチのopensslのopenssl-develののPCREのPCRE-develのGD GD-develのインストール-y \ GCCのgccの-C ++のautomakeのautoconfのインストールのlibxml2のlibxml2-develのを作る\ カール-develの\ libjpeg-develの\ 解凍\ MySQLのサーバーのmysql-develの&& \ yumをEPEL-リリースをインストール-y && \ yumをlibmcryptの-develのインストール-y && \ yumをlibmhash-develのインストール-y && \ YUMのpostgresql-develのインストール-y && \ yumをbzip2でのdevelをインストール-y && \ yumをBZIP2をインストール-y
- PHPのソースパッケージのダウンロード
PHPのソースパッケージ二つの場所が提供され、HTTP://www.php.net/releases、 https://github.com/php/php-src/あなたがhttp://www.php.net/releasesから必要なバージョンを選択することをお勧めし、githubの上のソースコードは、ファイルを設定しないで直接コンパイルすることはできません。これは代替https://www.php.net/distributions/php-7.3.9.tar.gzですこのバージョン - リンク・ライブラリー・パスの設定
LN -s /usr/lib64/mysql/libmysqlclient.so。16 /usr/lib/libmysqlclient.so && \ LN -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so && \ LN -s /usr/lib64/libpng.so /usr/lib/libpng.so && \ LN -sは/ usr / lib64に/ mysqlのは/ usr / libに/ mysqlの
- cmakeのインストールとセットアップコンパイラphp7.3.9によるプラグlibzipはcmake3コンパイルされたバージョン、ここではオリジナルのコンパイルスクリプトlibzip、そうでない場合libzipソースパッケージパスをサポートしていませんhttps://libzip.org/download/libzip-1.5.2.tarを使用する必要があります.gzを
yumをインストール-y cmake3 && \ LN -sは/ usr / binに/ cmake3は/ usr / binに/ cmakeの&& \ タール libzip- -zxvf 1.5。1 .tar.gzの&& \ CDのlibzip - 1.5。1 && \ mkdirビルド && \ CDビルド && \ cmakeの.. && \ 作る && make installを
- ソースとスイッチの設定をコンパイルするコマンドをコンパイル
#环境变量
輸出= PHP-7.3.9 && \版
エクスポートフォルダ= php739 && \
PKG_CONFIG_PATH =は/ usr / local / lib64に/ pkgconfig:は/ usr / local / lib / pkgconfig \ 。/設定--prefix =は/ usr / local / $ {フォルダ} --enable-ZIP --enable- FPM \ --with-FPMユーザは= アパッチ\ --with-FPM基= アパッチ\ --with- iconvの\ --with- はmhash \ --enable- ジップ\ --with- BZ2 \ --with-config設定ファイルパス=は/ usr / local / $ {}フォルダ--enable-GD-ネイティブ-TTFの/ etc --with-config設定ファイルスキャン-dirを=は/ usr / local / $ {}フォルダの/ etc / php.d \ --with-カール--with-のlibxml-dirを=は/ usr / lib64に--with-GD --with-JPEG-DIR --with-FreeTypeの-DIR =は/ usr / lib64に--with-PNG-DIR --with- mcryptの\ --with-はmhash --enable-mbstringの--with-ケルベロス--with -gettext --enable-bcmath --with-mysqlの--with-mysqliの--with- sqliteの\ --enable-PDO --with-PDO-mysqlの--with-opensslの--enable-ftpを--with-梨--with-zlibを--enable-inline- 最適化\ --with-PDO-pgsqlの--with - pgsqlの\ --enable-カレンダー--enable-魔法の引用符--enable-ソケット--enable-SYSVSEM --enable-SYSVSHM --enable-sysvmsg --disable-デバッグ&& \ 作る && INSTALを作ります - オープンサービス、サービス開始nginxの&&は/ usr / local / $ {}フォルダ/ sbinに/ PHP-FPM
完全なビルドが直接dockerfileを参照してください。
http://3xcn.com/forum.php?mod=viewthread&tid=60&extra=page%3D1