我在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
。
提前谢谢。
答案 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