Mac OS X(通过brew)和PHP上的unixODBC

Mac OS X(通过brew)和PHP上的unixODBC,php,macos,odbc,unixodbc,mdbtools,Php,Macos,Odbc,Unixodbc,Mdbtools,我正在尝试在MacOSX10.14组件上使用ODBC 我的develenv有一个nginxwebserver和php7.3.10。 在遵循一些指南之后,我安装了带有odbc支持的mdbtools 我可以通过odbc名称或DSN使用isqlisql读取access数据库 Command: isql -v -k "Driver=MDBTools;DBQ=/database.accdb;" Command: isql -v MyODBOrigin 使用这两个连接命令,isql连接OK,我可以使用SE

我正在尝试在MacOSX10.14组件上使用ODBC

我的develenv有一个nginxwebserver和php7.3.10。 在遵循一些指南之后,我安装了带有odbc支持的
mdbtools

我可以通过odbc名称或DSN使用isql
isql
读取access数据库

Command: isql -v -k "Driver=MDBTools;DBQ=/database.accdb;"
Command: isql -v MyODBOrigin
使用这两个连接命令,
isql
连接OK,我可以使用
SELECT*FROM MyTable
查看数据

现在,问题是: 使用PHP
odbc\u connect
: 使用PDO: 使用这两种连接方法会导致odbc失效(nginx返回404错误)

ODBC跟踪: 用于测试的配置: My
odbc.ini
[MyODBCOrigin]
Description = Example
Driver = MDBTools
Servername = localhost
Database = /database.accdb
UserName =
Password =
port = 5432
我的
odbcinst.ini
[ODBC]
Trace = 1
TraceFile = /tmp/odbctrace.log

[MDBTools]
Driver = /usr/local/lib/libmdbodbc.dylib
Setup  =
有人能帮我解决这个问题吗

编辑 我找到了。这似乎是同样的问题。我已经尝试了上一条评论中建议的解决方案,但它不起作用

编辑2
使用
SQL\u CUR\u使用\u ODBC
作为
ODBC\u connect()
的参数返回
404
nginx错误(ODBC进程死,与pdo相同的错误)。使用
SQL\u CUR\u USE\u DRIVER
,返回指定的错误(此帖子中的致命错误详细信息)。

您可以在
docker
容器中尝试相同的操作吗?感觉更像是你的环境问题。我没有尝试,因为那是我的开发环境,我没有在上面使用docker。。。我相信我已经在OSYea上安装了所有的应用程序/驱动程序。只是隔离有助于找到这样的错误,因为我们无法复制您的环境。我知道,如果我使用虚拟化、容器甚至其他机器(例如windows或*nix机器),我可以解决这个问题。但问题是关于一个问题和可能的解决办法,而不是解决办法。我有用于devel的*nix服务器,用于测试和生产,但我想在我实际的个人devel环境中管理一个副本,我不想改造所有的env。
$connection = new \PDO('odbc:MyODBCOrigin');
$connection = new \PDO('Driver=MDBTools;DBQ=/database.accdb;');
[ODBC][31713][1570202266.779582][__handles.c][460]
                Exit:[SQL_SUCCESS]
                        Environment = 0x7f8844001200 [ODBC][31713][1570202266.779895][SQLSetEnvAttr.c][189]
                Entry:
                        Environment = 0x7f8844001200
                        Attribute = SQL_ATTR_ODBC_VERSION
                        Value = 0x3
                        StrLen = 0 [ODBC][31713][1570202266.779998][SQLSetEnvAttr.c][381]
                Exit:[SQL_SUCCESS] [ODBC][31713][1570202266.780138][SQLSetEnvAttr.c][189]
                Entry:
                        Environment = 0x7f8844001200
                        Attribute = SQL_ATTR_CP_MATCH
                        Value = 0x0
                        StrLen = 0 [ODBC][31713][1570202266.780217][SQLSetEnvAttr.c][381]
                Exit:[SQL_SUCCESS] [ODBC][31713][1570202266.780316][SQLAllocHandle.c][377]
                Entry:
                        Handle Type = 2
                        Input Handle = 0x7f8844001200 [ODBC][31713][1570202266.780419][SQLAllocHandle.c][493]
                Exit:[SQL_SUCCESS]
                        Output Handle = 0x7f8844008a00 [ODBC][31713][1570202266.780493][SQLSetConnectAttr.c][399]
                Entry:
                        Connection = 0x7f8844008a00
                        Attribute = SQL_ATTR_AUTOCOMMIT
                        Value = 0x1
                        StrLen = -6 [ODBC][31713][1570202266.780562][SQLSetConnectAttr.c][691]
                Exit:[SQL_SUCCESS] [ODBC][31713][1570202266.780625][SQLSetConnectAttr.c][399]
                Entry:
                        Connection = 0x7f8844008a00
                        Attribute = SQL_ATTR_ODBC_CURSORS
                        Value = 0x0
                        StrLen = -6 [ODBC][31713][1570202266.780684][SQLSetConnectAttr.c][691]
                Exit:[SQL_SUCCESS] [ODBC][31713][1570202266.780752][SQLConnect.c][3721]
                Entry:
                        Connection = 0x7f8844008a00
                        Server Name = [MyODBCOrigin][length = 7 (SQL_NTS)]
                        User Name = [NULL]
                        Authentication = [NULL]
                UNICODE Using encoding ASCII 'US-ASCII' and UNICODE 'UCS-2-INTERNAL'
[MyODBCOrigin]
Description = Example
Driver = MDBTools
Servername = localhost
Database = /database.accdb
UserName =
Password =
port = 5432
[ODBC]
Trace = 1
TraceFile = /tmp/odbctrace.log

[MDBTools]
Driver = /usr/local/lib/libmdbodbc.dylib
Setup  =