PHP 警告:odbc_connect():SQL 错误:[unixODBC][驱动程序管理器]无法打开 lib 'ivoa27.so' [网络套件]

发布于 2025-01-09 10:26:08 字数 2270 浏览 4 评论 0原文

我正在尝试在 Linux 上使用 php 连接 netsuite ODBC 驱动程序。 它在 Linux 上工作正常,但在 nginx 上,php 连接失败。

我似乎有一个我无法弄清楚的依赖问题。

ldd ivoa.so.27 在服务器 linux 上完美运行,但 ldd ivoa.so.27 在使用用户 www-data 时找不到两个文件。

见下文。

ldd /opt/calnexsol/engagement_form/odbc_driver/lib64/ivoa27.so

    linux-vdso.so.1 =>  (0x00007ffc72b54000)
    librt.so.1 => /lib64/librt.so.1 (0x00007ff74b42b000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007ff74b227000)
    libicuuc.so.42 => /opt/calnexsol/engagement_form/odbc_driver/lib64/libicuuc.so.42 (0x00007ff74afcd000)
    libicudata.so.42 => /opt/calnexsol/engagement_form/odbc_driver/lib64/libicudata.so.42 (0x00007ff749f88000)
    libpam.so.0 => /lib64/libpam.so.0 (0x00007ff749d79000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff749b5d000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007ff749855000)
    libm.so.6 => /lib64/libm.so.6 (0x00007ff749553000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff74933d000)
    libc.so.6 => /lib64/libc.so.6 (0x00007ff748f6f000)
    /lib64/ld-linux-x86-64.so.2 (0x00007ff74b9de000)
    libaudit.so.1 => /lib64/libaudit.so.1 (0x00007ff748d46000)
    libcap-ng.so.0 => /lib64/libcap-ng.so.0 (0x00007ff748b40000)

sudo runuser -u www-data -- ldd /opt/calnexsol/engagement_form/odbc_driver/lib64/ivoa27.so

    linux-vdso.so.1 =>  (0x00007fffc093c000)
    librt.so.1 => /lib64/librt.so.1 (0x00007fb274424000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007fb274220000)
    libicuuc.so.42 => not found
    libicudata.so.42 => not found
    libpam.so.0 => /lib64/libpam.so.0 (0x00007fb274011000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb273df5000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fb273aed000)
    libm.so.6 => /lib64/libm.so.6 (0x00007fb2737eb000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fb2735d5000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fb273207000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fb2749d7000)
    libaudit.so.1 => /lib64/libaudit.so.1 (0x00007fb272fde000)
    libcap-ng.so.0 => /lib64/libcap-ng.so.0 (0x00007fb272dd8000)

请告知。如果有人有解决办法。

I am trying to connect netsuite ODBC driver with php on Linux.
It works fine on Linux but with nginx, the php connection fails.

I seems to have a problem of dependencies that I can't figure out.

ldd ivoa.so.27 works perfectly on the server linux but ldd ivoa.so.27 when using the user www-data can't find two files.

See below.

ldd /opt/calnexsol/engagement_form/odbc_driver/lib64/ivoa27.so

    linux-vdso.so.1 =>  (0x00007ffc72b54000)
    librt.so.1 => /lib64/librt.so.1 (0x00007ff74b42b000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007ff74b227000)
    libicuuc.so.42 => /opt/calnexsol/engagement_form/odbc_driver/lib64/libicuuc.so.42 (0x00007ff74afcd000)
    libicudata.so.42 => /opt/calnexsol/engagement_form/odbc_driver/lib64/libicudata.so.42 (0x00007ff749f88000)
    libpam.so.0 => /lib64/libpam.so.0 (0x00007ff749d79000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff749b5d000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007ff749855000)
    libm.so.6 => /lib64/libm.so.6 (0x00007ff749553000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff74933d000)
    libc.so.6 => /lib64/libc.so.6 (0x00007ff748f6f000)
    /lib64/ld-linux-x86-64.so.2 (0x00007ff74b9de000)
    libaudit.so.1 => /lib64/libaudit.so.1 (0x00007ff748d46000)
    libcap-ng.so.0 => /lib64/libcap-ng.so.0 (0x00007ff748b40000)

sudo runuser -u www-data -- ldd /opt/calnexsol/engagement_form/odbc_driver/lib64/ivoa27.so

    linux-vdso.so.1 =>  (0x00007fffc093c000)
    librt.so.1 => /lib64/librt.so.1 (0x00007fb274424000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007fb274220000)
    libicuuc.so.42 => not found
    libicudata.so.42 => not found
    libpam.so.0 => /lib64/libpam.so.0 (0x00007fb274011000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb273df5000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fb273aed000)
    libm.so.6 => /lib64/libm.so.6 (0x00007fb2737eb000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fb2735d5000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fb273207000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fb2749d7000)
    libaudit.so.1 => /lib64/libaudit.so.1 (0x00007fb272fde000)
    libcap-ng.so.0 => /lib64/libcap-ng.so.0 (0x00007fb272dd8000)

Please advise. If anyone have a solution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌︼了一个春 2025-01-16 10:26:08

假设您已设置OASDK_ODBC_HOME,则可以将/opt/calnexsol/engagement_form/odbc_driver/lib64添加到LD_LIBRARY_PATH。例如,

export LD_LIBRARY_PATH=/opt/calnexsol/engagement_form/odbc_driver/lib64

Assuming you have set OASDK_ODBC_HOME, you can add /opt/calnexsol/engagement_form/odbc_driver/lib64 to LD_LIBRARY_PATH. e.g.,

export LD_LIBRARY_PATH=/opt/calnexsol/engagement_form/odbc_driver/lib64
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文