IonCube暗号化を使用するPHPアプリケーションをDockerizeしようとしています。Docker、Alpine、IonCube、PHP7 FPM
IonCubeをスタンドアローンで動かすと、IonCubeのインストールがうまくいかず、痩せた画像(Docker、Alpine、PHP7.0)でドッキングできます。撮影した
ステップ:
- は、インストールするには、表示されたIonCubeの指示に従いました。
- インストールを試みた後、Dockerイメージ内のディレクトリに移動してCOPYが正しく実行され、関連するすべてのファイルが "docker exec -it image_name/bin/sh"を使用してイメージに表示されることを確認します。
- ファイルは上記のコマンドで表示されますが、イメージを確認した後、Powershellのメッセージには次のようなメッセージが表示されます。 "/usr/lib/php7/modules/ioncube_loader_lin_7.0.soの読み込みに失敗しました:/ usr/lib/php7/modules/ioncube_loader_lin_7.0.so:__strtod_internal:シンボルが見つかりません "。
- ドッカー画像「docker exec -it image_name/bin/sh」に再びアクセスし、ファイルを表示します。しかし、.SOファイルを読み込むことができないようです。
- は、最初は多分そのディレクトリのアクセス許可の問題を考えたが、私は777
にDIRをchmodの際にまだ運は誰もが、過去にこの問題をヒットしていませんか?
Dockerfile内容:
FROM richarvey/nginx-php-fpm:php7
COPY web /www
RUN chmod -R 777 /usr/lib/php7/modules
COPY web/ioncube/linux-64 /usr/lib/php7/modules
COPY web/ioncube/linux-64-ini /etc/php7/conf.d
WORKDIR /www
IonCubeローダー-wizard.php指示:
- のLinux x86-64のためのローダーの次のアーカイブのいずれかをダウンロードします。
- tar.gz
- tar.bz2
- は/ usr/libに/ PHP7 /モジュールでローダファイルを置き
- 編集したファイル/etc/php7/conf.d/00_ioncube.iniと任意の前に他の代替としてzend_extensionラインは以下が含まれていることを確認してください。代替としてzend_extension = 再起動
- /usr/lib/php7/modules/ioncube_loader_lin_7.0.soサーバソフトウェア。
はまだ上記を実行した後、それぞれのファイルは、アルパイン内の各ディレクトリに存在することを確認、私はその後、ドッキングウィンドウのイメージを破壊しない構築し、それを実行しますが、ない喜び。私はまた、インストールされたIonCube関連の変更を破棄していた場合に備えて、ドッカーのイメージを「ドッカーrmイメージ名」の代わりに再起動しました。
私は少し迷っています。
ポインタやガイダンスは高く評価されています。