打包运行连接sqlserver提示libmsodbcsql-18.0.so.1.1找不到

idouya

问题描述

SQLSTATE[01000]: [unixODBC][Driver Manager]Can't open lib '/opt/microsoft/msodbcsql18/lib64/libmsodbcsql-18.0.so.1.1

程序代码

class Monitor extends Base
{
    /**
     * @var bool
     */
    public $timestamps = false;
    protected $table = 'Device';
    protected $primaryKey = 'devId';
    protected $connection = 'sqlsrv';
}

截图报错信息里报错文件相关代码

截图

操作系统及workerman/webman等框架组件具体版本

win10上测试是没问题的,在win10上打包放在Ubuntu18.04上运行就有这个问题了

184 1 0
1个回答

demo

你要装unixODBC驱动在linux系统上面,并且在odbcinst.ini哪里要配置相应数据库的so文件

  • idouya 2024-11-13

    驱动安装了,odbcinst.ini文件指向的是18.0

  • idouya 2024-11-13

    root@hhuc:~# cat /etc/odbcinst.ini
    [ODBC Driver 18 for SQL Server]
    Description=Microsoft ODBC Driver 18 for SQL Server
    Driver=/opt/microsoft/msodbcsql18/lib64/libmsodbcsql-18.0.so.1.1
    UsageCount=1

  • idouya 2024-11-13

    把源码直接放在服务器上运行是没问题的

  • demo 2024-11-14

    libmsodbcsql 这个对应的cpu架构对不对,我之前遇到就是arm的cpu,使用的x86的库 然后提示找不到库文件

  • idouya 26天前

    如果是cpu架构不对,那源码直接启动应该也会失败吧

×
🔝