我想編譯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一起工作。
在此先感謝!
試過Alpine的人還沒有找到辦法。該問題不是特定於PHP的,因此請檢查也使用Oracle即時客戶端並嘗試過Alpine的其他語言。例如,請參閱Alpine問題https://github.com/sgerrand/alpine-pkg-glibc/issues/31
請嘗試使用這些命令。
它在高山上的Docker下工作。
但是,你必須安裝油嘴的阿爾卑斯兼容層: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電話的依賴有關。顯然現在沒有辦法讓它工作。感謝您的評論無論如何:) – Sergey
讓我知道如果有新的事情會發生問題 – SLY