PHP OCI8 extensionをコンパイルしてAlpinelinuxの下で実行しようとしています。しかし、拡張子はglibc
に定義されているシンボルに依存関係がありますが、musl libcにはありません。AlpinelinuxでPHP OCI8拡張をコンパイル
コンパイル済みのPHP OCI8拡張機能はありますか?または、oci8拡張機能とoracleインスタント・クライアントをalpinelinuxと連携させるための回避策があります。
ありがとうございます!
PHP OCI8 extensionをコンパイルしてAlpinelinuxの下で実行しようとしています。しかし、拡張子はglibc
に定義されているシンボルに依存関係がありますが、musl libcにはありません。AlpinelinuxでPHP OCI8拡張をコンパイル
コンパイル済みのPHP OCI8拡張機能はありますか?または、oci8拡張機能とoracleインスタント・クライアントをalpinelinuxと連携させるための回避策があります。
ありがとうございます!
アルパインを試したことがある人は道を見いださなかった。この問題はPHPに固有の問題ではないため、Oracle Instant Clientを使用し、Alpineを試した他の言語もチェックしてください。たとえば、アルパインの問題https://github.com/sgerrand/alpine-pkg-glibc/issues/31
これらのコマンドを試してみてください。
これはDocker on Alpineで動作します。
しかし、あなたはGLIBアルパイン互換レイヤーをインストールする必要があります。https://github.com/sgerrand/alpine-pkg-glibc
# Install OCI8
COPY ./oracle-sdk /tmp/oracle-sdk
RUN apk add --no-cache libaio-dev && \
unzip /tmp/oracle-sdk/instantclient-basic-linux.x64-12.2.0.1.0.zip -d /usr/local/ && \
unzip /tmp/oracle-sdk/instantclient-sdk-linux.x64-12.2.0.1.0.zip -d /usr/local/ && \
unzip /tmp/oracle-sdk/instantclient-sqlplus-linux.x64-12.2.0.1.0.zip -d /usr/local/ && \
ln -s /usr/local/instantclient_12_2 /usr/local/instantclient && \
ln -s /usr/local/instantclient/libclntsh.so.* /usr/local/instantclient/libclntsh.so && \
ln -s /usr/local/libclntshcore.so.* /usr/local/instantclient/libclntshcore.so && \
ln -s /usr/local/instantclient/libocci.so.* /usr/local/instantclient/libocci.so && \
ln -s /usr/local/instantclient/sqlplus /usr/bin/sqlplus && \
docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/local/instantclient && \
docker-php-ext-install oci8 && \
rm -rf /tmp/oracle-sdk
うんを、私はそれが非標準glibcの呼び出しにOracleとその依存関係と関連していると期待していました。明らかに、現時点ではそれを稼働させる方法はありません。とにかくあなたのコメントをありがとう:) – Sergey
私は何か新しいことが問題で起こるかどうかも教えてください – SLY