PHP启动:无法加载动态库' /usr/lib/php/20160303/pdo_sqlite.so'与詹金斯

时间:2018-02-11 13:54:41

标签: jenkins sqlite php-7.1

我在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

提前谢谢。

3 个答案:

答案 0 :(得分:3)

据我发现,/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

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

答案 1 :(得分:2)

我在Ubuntu 16.04上遇到了与PHP 7.1相同的问题。

运行以下内容为我解决了问题:

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

答案 2 :(得分:0)

您是否已从源代码构建SQLite?如果是,请启用“列元数据”并重新编译

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

使用尖端的SQLite玩乐。

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