【问题标题】:PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/pdo_sqlite.so' with JenkinsPHP 启动:无法使用 Jenkins 加载动态库“/usr/lib/php/20160303/pdo_sqlite.so”
【发布时间】:2018-07-21 18:47:12
【问题描述】:

我在 Jenkins 管道中运行 phpunit 测试套件时收到此警告。

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/pdo_sqlite.so' - /usr/lib/php/20160303/pdo_sqlite.so: undefined symbol: sqlite3_column_table_name in Unknown on line 0

但是,直接在终端中运行测试套件时不会抛出此警告。

我的系统中有 PHP 7.1,这是我安装的唯一 PHP 版本。 php7.1-sqlite3 已安装。

提前谢谢你。

【问题讨论】:

  • 您解决了这个问题吗?答案是否低于已接受的答案?
  • @nterms 你解决了这个问题吗?
  • @GligorFlorin 不,对不起。我就放弃了

标签: jenkins sqlite php-7.1


【解决方案1】:

我在 Ubuntu 16.04 上使用 PHP 7.1 时遇到了同样的问题。

运行以下命令为我解决了这个问题:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.1-sqlite3

【讨论】:

  • 试过这个(PHP 7.1,Ubuntu 18.04),没有解决问题。
【解决方案2】:

据我所知,/usr/local/lib 中有一个名为libsqlite3.so.0 的错误文件指向libsqlite3.so.0.8.6。我重命名了文件以防万一需要它。使用命令:

cd /usr/local/lib sudo mv libsqlite3.so.0 ./libsqlite3.so.0.back

但你也可以删除它: rm libsqlite3.so.0

引导我找到答案的线程:link

这解决了我的问题,我希望他们也能解决你的问题:)

【讨论】:

    【解决方案3】:

    您是否从源代码构建了 SQLite?如果是,启用 Column metadata 并重新编译

    CFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1" ./configure
    make
    sudo make install
    

    享受使用尖端 SQLite 的乐趣。

    参考 - https://www.sqlite.org/compile.html#enable_column_metadata

    【讨论】:

      猜你喜欢
      • 2017-01-05
      • 2018-01-15
      • 1970-01-01
      • 2018-12-14
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 2017-07-29
      • 1970-01-01
      相关资源
      最近更新 更多