gpt4 book ai didi

php - 无法为模块 DBD::Oracle 加载 '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so':libclntsh.so.12.1

转载 作者:太空宇宙 更新时间:2023-11-04 12:01:41 27 4
gpt4 key购买 nike

当尝试运行从 PHP 网页创建新 oracle 数据库的 perl 脚本时,出现错误。

  • 我的 PHP 页面托管在 linux 服务器 (centos7)
  • 更新了以下环境变量:

    export ORACLE_HOME=oracle 主路径
    导出 LD_LIBRARY_PATH=$ORACLE_HOME/lib
    导出 PATH=$ORACLE_HOME/bin:$PATH

  • perl 工具在点击 HTML 按钮后从 PHP 代码执行:

    exec("perl scriptName.pl")

  • 出现以下错误:

    install_driver(Oracle) failed: Can't load '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.12.1: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 190. at (eval 17) line 3. Compilation failed in require at (eval 17) line 3. Perhaps a required shared library or dll isn't installed where expected at (eval 10) line 22698.

  • 即使在 linux 服务器上执行 "perl script.pl" 单独运行 perl 脚本而不从 web php 页面调用,代码也执行了并且没有出现错误。

最佳答案

实际上,错误消息包含重要指针(强调我的):

install_driver(Oracle) failed: Can't load '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.12.1: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 190. at (eval 17) line 3. Compilation failed in require at (eval 17) line 3. Perhaps a required shared library or dll isn't installed where expected at (eval 10) line 22698.

这个问题出现在Oracle's "instant client"库无法通过 LD_LIBRARY_PATH 环境变量获得。这组库包含(除其他外)libclntsh.so(后缀取决于版本)。安装后,只需确保 LD_LIBRARY_PATH 中存在相应的路径即可。

关于php - 无法为模块 DBD::Oracle 加载 '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so':libclntsh.so.12.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52167602/

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