在 Debian 上升级 Laravel,通常分为 Laravel 框架升级 和 Debian 系统环境升级 两部分。下面按常见场景给你一个完整、安全的升级流程。
cp -r /var/www/your_project /var/www/your_project_backup
cd /var/www/your_project
php artisan --version
php -v
| Laravel 版本 | 最低 PHP 版本 |
|---|---|
| 8.x | 7.3 |
| 9.x | 8.0 |
| 10.x | 8.1 |
| 11.x | 8.2 |
sudo apt update
sudo apt install -y lsb-release ca-certificates curl
curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
例如 PHP 8.2:
sudo apt update
sudo apt install php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip
sudo update-alternatives --config php
cd /var/www/your_project
composer show laravel/framework
nano composer.json
示例(升级到 Laravel 10):
"require": {
"laravel/framework": "^10.0"
}
composer update laravel/framework --with-dependencies
⚠️ 如果遇到错误,可加:
composer update --no-scripts
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
php artisan migrate
php artisan route:list
php artisan config:show
sudo systemctl restart nginx
sudo systemctl restart php8.2-fpm
Your PHP version is too low
✅ 升级 PHP(见第二部分)
COMPOSER_MEMORY_LIMIT=-1 composer update
composer why-not laravel/framework 10.*
Laravel 8 → 9 → 10 → 11
不要跨多个大版本直接升级。
你可以告诉我:
1️⃣ 当前 Laravel 版本
2️⃣ Debian 版本(cat /etc/debian_version)
3️⃣ 是否使用 Nginx / Apache
4️⃣ 报错信息(如果有)
我可以直接给你 针对你服务器的一键升级方案 ✅