-
-
Notifications
You must be signed in to change notification settings - Fork 656
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Connecting to Oracle database (beta) #394
Comments
Hi @9034725985, The only missing parts are the PHP modules In order to compile them, one must have Oracle Instant Client installed. However, in order to download the Oracle Instant Client, one must manually accept the license first. I have not enough legal knowledge if this can be bundled inside a Docker container and distributed freely available on Dockerhub. For that to include in the Devilbox by default, I would require legal advice making it clear that it does not raise any legal issues. For now, I cannot do much, except keeping this issue open until somebody can point me to a link where the legal implications are clearly stated. |
Hi, I couldn't figure out how to install it manually. I downloaded the zip and placed it in /opt folder on the php container [email protected] in /shared/httpd $ rsync -av /shared/httpd/instantclient_18_3 /opt/ sent 232,757,557 bytes received 380 bytes 4,609,068.06 bytes/sec libaio1 is already installed [email protected] in /shared/httpd $ sudo sh -c "echo /opt/oracle/instantclient_18_3 > \
I think I am missing something, right? |
You must do the following:
Note: The path in |
legal issueIs anyone able to solve this legal issue and has some reference to backup the claim if this can be bundled or can't be bundled? |
I did a quick google search and found a github project, is this related? |
@science695 the project als requires you to manually download the OracleInstantClient from the web and then you can proceed building the images: https://github.com/oracle/docker-images/tree/master/OracleInstantClient#building-the-oracle-instant-client-122-image So I guess I unfortunately cannot ship this here |
You could offer instructions on having docker compose use the dockerfile and build the images locally, then if they decided to build the oracle versions, they could accept the EULAs. |
i have try to install Instant client but i receve this error sudo alien -i oracle-instantclient12.1-basiclite-12.1.0.2.0-1.x86_64.rpm |
An alternative I am currently investigating (as I am running into similar legal issues with Microsoft ODBC) is to have a directory where you can add user-defined scripts that are run by the PHP container during startup. This could be for example a script installing the oracle-instantclient. |
@filippomanicone @science695 @9034725985
This will eliminate the current limitations due to legal issues. Current PR for php-fpm is here: devilbox/docker-php-fpm#78 |
Devilbox PR is open: #446 You can checkout this git branch: |
@9034725985 For now you can already install it manually via: Install instructions (inside PHP container)#!/bin/bash
#
# https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/
#
apt-get update -q
DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests alien
# Instantclient (basic lite)
curl -o /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm
# Instantclient (devel)
curl -o /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm
# Install RPMs
alien -i /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm
alien -i /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm
# Rempve RPMs
rm -f /tmp/oracle-instantclient18.3-basiclite-18.3.0.0.0-2.x86_64.rpm
rm -f /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-2.x86_64.rpm
# Necessary symlinks
ln -s /usr/lib/oracle/18.3/client64/lib/libmql1.so /usr/lib/
ln -s /usr/lib/oracle/18.3/client64/lib/libipc1.so /usr/lib/
ln -s /usr/lib/oracle/18.3/client64/lib/libnnz18.so /usr/lib/
ln -s /usr/lib/oracle/18.3/client64/lib/libons.so /usr/lib/
ln -s /usr/lib/oracle/18.3/client64/lib/libclntshcore.so.18.1 /usr/lib/
# Build and install PHP extension
docker-php-ext-configure oci8 --with-oci8=instantclient
docker-php-ext-install oci8
docker-php-ext-enable oci8 |
Updated version (
|
This will currently fail due to some variable name collisions inside the container ( |
@9034725985 @science695 @filippomanicone Let me know if this works as expected. |
Seems like those |
Fixes #394 Native Oracle Database support for PHP
Merged and available now. It is disabled by default in |
Announcement and follow up discussions here: https://devilbox.discourse.group/t/feature-oracle-database-support/22 mention: @9034725985 @filippomanicone @science695 |
ISSUE TYPE
SUMMARY
in its default state, I cannot get devilbox to talk to oracle databases out of the box.
I tried adminer from within devilbox but
Looks like some other project has the same open issue?
clue/docker-adminer#15
Goal
I want to connect to oracle from my php code
something like
The text was updated successfully, but these errors were encountered: