gpt4 book ai didi

php - 迪尔德 : lazy symbol binding failed for php oic8 on Apple M1

转载 作者:行者123 更新时间:2023-12-03 20:45:40 26 4
gpt4 key购买 nike

在基于 Intel 的 MacOS 上,我的 php-oci8 安装过程很好。
在我迁移到新架构 Apple M1 后,我遇到了奇怪的异常。
并且无法理解如何解决它。
安装过程:

brew install php

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

Build process completed successfully
Installing '/opt/homebrew/Cellar/php/8.0.1_1/pecl/20200930/oci8.so'
install ok: channel://pecl.php.net/oci8-3.0.1
Extension oci8 enabled in php.ini
当我尝试检查 oci8 是否正确加载时,我收到下一个问题:
php -i
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

Abort trap: 6
有人可以帮忙,如何处理这个问题?
MacOS: 11.1、苹果M1 , PHP: 8.0.1 , OCI8 分机号: 3.0.1 , Oracle 即时客户端: 19.8
UPD 1 : 在最新的 Oracle Client v19.8 和 v12.2 上测试,同样的问题
UPD 2 : 通过 .dmg 和 .zip 测试,同样的问题

最佳答案

Oracle Instant Client 没有 native M1 二进制文件,Rosetta 尚未经过测试。
如果您尝试任何操作,请尝试从 DMG 软件包安装的 19.8 Instant Client。这是为最近的 macOS 版本公证的第一个版本(参见 here)。此版本将连接到与 12.2 客户端相同的数据库版本。不知道在M1机器上能不能用。

关于php - 迪尔德 : lazy symbol binding failed for php oic8 on Apple M1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65828380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com