Debian13(trixie) 安装php8.5 php-fpm8.5

Debian13已经发布 php8.5最新发布 官方支持都还欠缺 使用sury的ppa安装

复制代码
# 安装必要工具
sudo apt update
sudo apt install -y curl gnupg2 ca-certificates lsb-release apt-transport-https

# 添加 GPG 密钥
sudo curl -fsSL https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor -o /usr/share/keyrings/php.gpg

# 添加 PHP 源
echo "deb [signed-by=/usr/share/keyrings/php.gpg] https://packages.sury.org/php/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/php.list

# 更新源
sudo apt update

安装 PHP 8.5 及扩展

复制代码
# 安装 PHP 8.5 核心及 FPM
sudo apt install -y php8.5 php8.5-fpm

# 安装 Lsky Pro 所需的常用扩展
sudo apt install -y \
    php8.5-cli \
    php8.5-common \
    php8.5-curl \
    php8.5-gd \
    php8.5-mbstring \
    php8.5-mysql \
    php8.5-xml \
    php8.5-zip \
    php8.5-bcmath \
    php8.5-imagick \
    php8.5-redis

sudo apt install -y php8.5-fpm php8.5-cli php8.5-common \
    php8.5-curl php8.5-mbstring php8.5-xml php8.5-zip \
    php8.5-imagick php8.5-bcmath php8.5-gd \
    php8.5-intl php8.5-mysql php8.5-readline

验证安装

复制代码
# 检查 PHP 版本
php8.5 -v

# 检查已安装扩展
php8.5 -m

# 检查 PHP-FPM 状态
sudo systemctl status php8.5-fpm

配置 PHP-FPM

复制代码
# 编辑 www.conf(根据你的 Web 服务器调整用户/组)
sudo nano /etc/php/8.5/fpm/pool.d/www.conf

# 关键配置项示例:
; user = www-data
; group = www-data
; listen = /run/php/php8.5-fpm.sock
; listen.owner = www-data
; listen.group = www-data
; pm.max_children = 50
; pm.start_servers = 5
; pm.min_spare_servers = 5
; pm.max_spare_servers = 35

调整 PHP 配置(Lsky Pro 优化)

sudo nano /etc/php/8.5/fpm/php.ini

复制代码
; 文件上传相关(Lsky 图床必需)
upload_max_filesize = 50M
post_max_size = 50M
max_file_uploads = 20
memory_limit = 256M
max_execution_time = 300

; 时区设置
date.timezone = Asia/Shanghai

; 错误显示(生产环境建议关闭)
display_errors = Off
log_errors = On

; OPcache 优化
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000

重启服务

复制代码
sudo systemctl restart php8.5-fpm
sudo systemctl enable php8.5-fpm

Nginx + PHP-FPM,确保 Nginx 配置正确

复制代码
# /etc/nginx/sites-available/lsky
server {
    listen 80;
    server_name your-domain.com;
    root /var/www/lsky/public;

    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.5-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # 图片缓存
    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

如果文件没有 先创建

复制代码
sudo mkdir -p /etc/nginx/snippets

sudo tee /etc/nginx/snippets/fastcgi-php.conf << 'EOF'
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;

include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;

fastcgi_buffering on;
fastcgi_buffer_size 4k;
fastcgi_buffers 8 4k;
fastcgi_busy_buffers_size 8k;
fastcgi_temp_file_write_size 8k;

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
EOF

配置优化(Lsky Pro 推荐)

复制代码
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

添加/修改以下配置:

复制代码
[mysqld]
# 基础设置
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
default_storage_engine = InnoDB

# 性能优化(根据服务器内存调整)
innodb_buffer_pool_size = 512M      # 建议设为内存的 50-70%
innodb_log_file_size = 128M
innodb_flush_log_at_trx_commit = 2

# 连接设置
max_connections = 200
wait_timeout = 600
interactive_timeout = 600

# 日志(调试用,生产环境可关闭)
# slow_query_log = 1
# slow_query_log_file = /var/log/mysql/slow.log
# long_query_time = 2

[mysql]
default-character-set = utf8mb4

[client]
default-character-set = utf8mb4

重启生效:

复制代码
sudo systemctl restart mariadb

与 PHP 8.5 联动

确保 PHP 已安装 MySQL 扩展:

复制代码
# 如果之前没装,现在补上
sudo apt install php8.5-mysql

# 重启 PHP-FPM
sudo systemctl restart php8.5-fpm

验证 PHP 能否连接 MariaDB:

复制代码
php8.5 -m | grep -i mysql
# 应显示:mysqli, mysqlnd, pdo_mysql

常用管理命令

| 操作 | 命令 |

| ----- | ----------------------------------------------------- |

| 登录 | `sudo mariadb -u root -p` |

| 查看状态 | `sudo systemctl status mariadb` |

| 重启 | `sudo systemctl restart mariadb` |

| 备份数据库 | `sudo mariadb-dump -u root -p lsky > lsky_backup.sql` |

| 恢复数据库 | `sudo mariadb -u root -p lsky < lsky_backup.sql` |

| 查看用户 | `SELECT user, host FROM mysql.user;` |

Lsky Pro 数据库配置示例

安装 Lsky Pro 时,.env 文件配置:

复制代码
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=lsky
DB_USERNAME=lsky_user
DB_PASSWORD=你的强密码

Enjoy~~

相关推荐
马猴烧酒.2 小时前
【面试八股|计算机网络】计算机网络常见面试题详解笔记
java·开发语言·网络·笔记·计算机网络·算法·面试
2401_833197732 小时前
现代C++多线程编程实战
开发语言·c++·算法
m0_587958952 小时前
C++中的适配器模式实战
开发语言·c++·算法
西门吹雪分身2 小时前
JMM java内存模型分析
java·开发语言
不会写DN2 小时前
Js常用数组处理
开发语言·javascript·ecmascript
还是大剑师兰特2 小时前
数组中有两个数据,将其变成字符串
开发语言·javascript·vue.js
2301_776508722 小时前
C++中的职责链模式实战
开发语言·c++·算法
sqyno1sky2 小时前
C++中的空对象模式
开发语言·c++·算法
乐6822 小时前
CISCN2026半决赛wp
python·web安全·php