本文将以PHP安装sqlite为例,演示PHP如何安装扩展。
问题来源:composer install报错:
squirephp/model[v3.3.0, …, v3.4.1] require ext-pdo_sqlite * -> it is missing from your system. Install or enable PHP's pdo_sqlite extension.
PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /usr/lib/php/20210902/pdo_sqlite (/usr/lib/php/20210902/pdo_sqlite: cannot open shared object file: No such file or directory), /usr/lib/php/20210902/pdo_sqlite.so (/usr/lib/php/20210902/pdo_sqlite.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
您可以尝试按照以下步骤来安装和启用 PDO SQLite 扩展:
- 确认您的系统已经安装了 SQLite 数据库,并且已经在 PHP 中启用了
pdo
扩展。这通常可以通过运行以下命令来检查:
php -m | grep pdo
如果您看到 pdo
扩展被列出,则表示已经启用了该扩展。
使用以下命令安装 php-sqlite3
和 php-pdo-sqlite
包:
sudo apt-get install php8.1-sqlite3 php8.1-pdo-sqlite
等待安装完成后,您需要将 pdo_sqlite
扩展添加到 PHP 的配置文件中。通常,PHP 的配置文件位于 /etc/php/{VERSION}/cli/php.ini
,其中 {VERSION}
是您当前使用的 PHP 版本。您可以使用以下命令打开该文件:
sudo mcedit /etc/php/8.1/cli/php.ini
在其中找到 ;extension=pdo_sqlite
这一行,并将其修改为:
extension=pdo_sqlite
请注意,如果此行在文件中不存在,则可以通过手动添加它来启用 pdo_sqlite
扩展。
重新启动 Apache 或者 Nginx 服务器以使配置生效:
sudo systemctl restart apache2
或者
sudo systemctl restart nginx
在重新启动服务器后,您可以使用以下命令来验证 pdo_sqlite
扩展是否已成功加载:
php -m | grep pdo_sqlite
如果您看到pdo_sqlite
扩展被列出,则表示扩展已经成功加载。
通过以上步骤,您应该就能够解决 pdo_sqlite
动态链接库文件加载失败的问题了。
相关文章:PHP安装各种组件/插件/扩展