概括: 我更新了 Ubuntu 专用服务器上的 SQLite,但现在尝试运行任何 PHP 脚本(甚至是“Hello World”)时都会出现内部服务器错误。
细节: 我从一家大型主机公司租用了一台“完全托管”的服务器,但是他们拒绝更新这台几年前的服务器上的 SQLite,说我只能靠自己了。
我找到了一篇文章,上面说要执行“apt install libsqlite3-dev”,但是当我尝试时,我得到了以下摘录:
libsqlite3-dev is already the newest version (3.22.0-1ubuntu0.7).
事实并非如此,它离最新版本还很远。我也尝试了“apt install sqlite3”,但得到了相同的结果。
摘自我写的另一篇文章:
cd /usr/local/bin
wget https://www.sqlite.org/2022/sqlite-autoconf-3400000.tar.gz
tar zxvf sqlite-autoconf-3400000.tar.gz
cd sqlite-autoconf-3400000
./configure
make
make install
这样就安装好了 SQLite,但现在当我尝试运行一个简单的“Hello World”PHP 脚本时,出现了内部服务器错误。错误日志显示:
>AH01215: php80.cgi: symbol lookup error: php80.cgi: undefined symbol: sqlite3_column_table_name: /[host name redacted]/cgi-system/php80.cgi
>End of script output before headers: php80.cgi
我的 <helloworld.php> 文件是:
<!DOCTYPE html>
<html>
<head>
<title>Hello world></title>
</head>
<body>
<?php echo'Hell, low whirled.';?>
</body>
</html>
我问主机为什么我的 PHP 无法运行,他们说我在更新 SQLite 时搞砸了。他们说我可以付给他们 100 美元来“重新镜像”服务器软件(降级 SQLite),然后让他们为我自定义更新 SQLite,大概需要 300 美元。每次我想更新软件时,我都不愿意花 300 美元,所以我希望得到一些帮助,让我的 PHP/SQLite 能够很好地协同工作(或者安装 SQLite适当地在我支付 100 美元来重新制作我的服务器映像之后)
我的 Ubuntu 操作系统是 18.04.6 LTS(Bionic Beaver),PHP 是 8.0。