You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rocky Linux 9部署Shlink时PHP缺失pdo_sqlite组件的求助

问题
  • 系统环境:Rocky Linux 9(RHEL9),已安装PHP 8,正在自行部署Shlink并遵循官方安装指南操作
  • 核心问题:无法找到并安装pdo_sqlite组件,尝试通过sudo dnf install安装以下包均失败:
pdo_sqlite
pdo_sqlite3
php_sqlite
php_sqlite3
php8.2_sqlite
php8.2_sqlite3
php8_sqlite
php8_sqlite3
  • 补充报错信息:
    1. 运行Shlink安装程序时的警告:
    PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /usr/lib64/php/modules/pdo_sqlite (/usr/lib64/php/modules/pdo_sqlite: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/pdo_sqlite.so (/usr/lib64/php/modules/pdo_sqlite.so: undefined symbol: sqlite3_column_table_name)) in Unknown on line 0
    
    1. 安装程序完成时的错误:
    Error writing to "config/params/generated_config.php": file_put_contents(config/params/generated_config.php): Failed to open stream: No such file or directory
    
解决方法

处理pdo_sqlite组件问题

  1. 安装对应版本的正确包:
    RHEL系系统中,PHP 8.x的pdo_sqlite包名不是你尝试的格式,需根据安装源选择命令:
    • 若使用系统默认AppStream仓库的PHP 8:
      sudo dnf install php-pdo-sqlite
      
    • 若使用Remi仓库安装的PHP 8.2:
      sudo dnf install php82-php-pdo-sqlite
      
  2. 重启PHP相关服务:
    # 重启PHP-FPM(对应版本,比如8.2为php82-php-fpm)
    sudo systemctl restart php-fpm
    # 或重启Apache服务(若用Apache部署)
    sudo systemctl restart httpd
    
  3. 验证组件加载:
    php -m | grep pdo_sqlite
    
    输出pdo_sqlite即表示加载正常。

处理文件写入失败问题

  1. 手动创建缺失的目录:
    mkdir -p /你的Shlink安装路径/config/params
    
  2. 设置正确的权限:
    确保PHP运行用户(通常是apache或nginx)拥有目录读写权限:
    # 假设Shlink安装在/var/www/shlink,用户为apache
    sudo chown -R apache:apache /var/www/shlink
    sudo chmod -R 755 /var/www/shlink
    sudo chmod -R 775 /var/www/shlink/config
    

内容的提问来源于stack exchange,提问作者SeaswimmerTheFsh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 21:15:25