在 Debian 上安装和运行 Laravel,有几个系统层面和Laravel 自身需要注意的点。下面按“最容易踩坑”的顺序给你梳理。
Laravel 对 PHP 版本要求较新:
| Laravel 版本 | 最低 PHP |
|---|---|
| Laravel 10 | PHP 8.1 |
| Laravel 11 | PHP 8.2 |
Debian 默认源可能只有 PHP 7.4,必须加 sury 源:
apt install -y lsb-release ca-certificates apt-transport-https
curl -sSL https://packages.sury.org/php/README.txt
# 按官方说明添加 sury 源
apt update
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 php8.2-gd php8.2-bcmath
Laravel 常用依赖:
php8.2-mbstring
php8.2-xml
php8.2-bcmath
php8.2-curl
php8.2-zip
php8.2-gd
php8.2-mysql / php8.2-pgsql
否则 composer install 或运行时会报错。
不要用 apt 的旧版 composer:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
验证:
composer -V
Laravel 需要写:
storagebootstrap/cache正确做法(不推荐 777):
chown -R www-data:www-data /var/www/laravel
chmod -R 755 /var/www/laravel
chmod -R 775 storage bootstrap/cache
如果你用 CLI 运行:
sudo -u www-data composer install
示例配置要点:
root /var/www/laravel/public;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
注意:
publicsystemctl restart nginx php8.2-fpmmod_rewrite.htaccesscp .env.example .env
php artisan key:generate
生产环境:
php artisan config:cache
php artisan route:cache
php artisan view:cache
⚠️ 改 .env 后一定要:
php artisan config:clear
php -d memory_limit=-1 composer install
apt update
# 安装 PHP + Nginx + Composer
# 建项目
composer create-project laravel/laravel example-app
# 配置 Nginx
# 设置权限
# php artisan migrate
如果你愿意,可以告诉我:
我可以直接给你一套可复制的配置文件。