Bug #80846 [NEW]: oci8 extension can't detect instance client under M1
| From: | denirun at gmail dot com | Date: | Mon, 08 Mar 2021 10:01:21 +0000 |
| Subject: | Bug #80846 [NEW]: oci8 extension can't detect instance client under M1 | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-232616@lists.php.net to get a copy of this message | ||
From: denirun at gmail dot com
Operating system: macOS BigSur 11.2.2, M1
PHP version: 8.0.3
Package: OCI8 related
Bug Type: Bug
Bug description:oci8 extension can't detect instance client under M1
Description:
------------
Problem exists under Apple M1 chip only!
After setâup Oracle Instant Client under M1, and run sqlplus to check,
does instant client works â the sqlplus works without any problems.
All connection, and some simple sqls works perfectly.
Than after set up oci8 extension via pecl, and provide path to instant
client â the script don't find any errors, and installation finished
with success.
After check how extension loaded, PHP stops with critical exception:
dyld: lazy symbol binding failed: Symbol not found: _OCIClientVersion
Test script:
---------------
cd ~/Downloads
curl -O
https://download.oracle.com/otn_software/mac/instantclient/198000/instantclient-basic-macos.x64-19.8.0.0.0dbru.dmg
curl -O
https://download.oracle.com/otn_software/mac/instantclient/198000/instantclient-sdk-macos.x64-19.8.0.0.0dbru.dmg
curl -O
https://download.oracle.com/otn_software/mac/instantclient/198000/instantclient-sqlplus-macos.x64-19.8.0.0.0dbru.dmg
hdiutil mount instantclient-basic-macos.x64-19.8.0.0.0dbru.dmg
hdiutil mount instantclient-sdk-macos.x64-19.8.0.0.0dbru.dmg
hdiutil mount instantclient-sqlplus-macos.x64-19.8.0.0.0dbru.dmg
/Volumes/instantclient-basic-macos.x64-19.8.0.0.0dbru/install_ic.sh
hdiutil unmount /Volumes/instantclient-basic-macos.x64-19.8.0.0.0dbru
hdiutil unmount /Volumes/instantclient-sdk-macos.x64-19.8.0.0.0dbru
hdiutil unmount /Volumes/instantclient-sqlplus-macos.x64-19.8.0.0.0dbru
sudo mkdir -p /opt/oracle
sudo mv instantclient_19_8/ /opt/oracle
pecl install oci8
# Oracle Instant Client [autodetect] :
instantclient,/opt/oracle/instantclient_19_8
php -i | grep oci8
Expected result:
----------------
oci8
oci8.connection_class => no value => no value
oci8.default_prefetch => 100 => 100
oci8.events => Off => Off
oci8.max_persistent => -1 => -1
oci8.old_oci_close_semantics => Off => Off
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20
Actual result:
--------------
oci8
OCI8 Support => enabled
OCI8 DTrace Support => disabled
OCI8 Version => 3.0.1
dyld: lazy symbol binding failed: Symbol not found: _OCIClientVersion
Referenced from: /opt/homebrew/lib/php/pecl/20200930/oci8.so
Expected in: flat namespace
dyld: Symbol not found: _OCIClientVersion
Referenced from: /opt/homebrew/lib/php/pecl/20200930/oci8.so
Expected in: flat namespace
--
Edit bug report at https://bugs.php.net/bug.php?id=80846&edit=1
--
Fix committed: https://bugs.php.net/fix.php?id=80846&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=80846&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=80846&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=80846&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=80846&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=80846&r=support
Expected behavior: https://bugs.php.net/fix.php?id=80846&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=80846&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=80846&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=80846&r=globals
PHP version support discontinued: https://bugs.php.net/fix.php?id=80846&r=phptooold
Daylight Savings: https://bugs.php.net/fix.php?id=80846&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=80846&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=80846&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=80846&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=80846&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=80846&r=mysqlcfg