centos 7安装laravel需先启用remi-php82源并安装php 8.2及全部扩展,再配置composer 2.7.8+与阿里云镜像,最后用create-project创建项目并配置nginx,缺一不可。

在CentOS服务器上安装Laravel框架必须满足PHP 8.2+硬性要求,CentOS 7默认源仅提供PHP 5.4或7.3,直接运行composer create-project laravel/laravel会报错“Package laravel/framework has a PHP requirement incompatible with your PHP version”,必须先切换到remi仓库并启用php82模块。
安装PHP 8.2并启用全部必需扩展
执行以下命令安装EPEL和remi仓库:yum install epel-release -y && yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
启用php82软件源:yum-config-manager --enable remi-php82
安装PHP核心及Laravel强制依赖扩展:yum install php82 php82-php-fpm php82-php-mbstring php82-php-xml php82-php-pdo php82-php-zip php82-php-gd php82-php-opcache php82-php-bcmath php82-php-tokenizer php82-php-cli php82-php-json php82-php-openssl php82-php-pcntl php82-php-posix -y
创建系统级PHP软链接,使php命令指向php82:ln -sf /opt/remi/php82/root/usr/bin/php /usr/local/bin/php
验证安装是否成功:php -v应输出PHP 8.2.x;php -m | grep -E "mbstring|pdo|xml|tokenizer|json|openssl"必须全部显示在列表中,【缺少任一模块都会导致Laravel启动失败】
安装并配置Composer 2.7.8+
下载指定版本Composer安装器:curl -sS https://getcomposer.org/installer | php -- --filename=composer --version=2.7.8
移动至系统路径并赋予执行权限:mv composer /usr/local/bin/composer && chmod +x /usr/local/bin/composer
配置阿里云镜像源(否则拉取laravel/framework超时率极高):composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
验证版本:composer --version必须显示2.7.8或更高。旧版Composer无法解析Laravel 11的^8.2语义约束,会卡在“Installing laravel/laravel (v11.0.0)”不动。
创建Laravel项目
方法一:使用create-project跳过交互式安装(唯一可靠方式)
cd /var/www && composer create-project --no-interaction laravel/laravel blog
方法二:若需指定Laravel版本(如v10),加@符号限定:
cd /var/www && composer create-project --no-interaction laravel/laravel blog "10.*"
注意:绝对不要运行laravel new blog——该命令依赖laravel/installer工具,在CentOS 7上存在PATH识别异常和PHP 8.2反射兼容问题,90%概率卡死或报failed to open stream错误。
配置Nginx虚拟主机
第一步:创建配置文件
sudonano /etc/nginx/conf.d/blog.conf
第二步:填入以下内容(关键点已标出):
server {
listen 80;
server_name example.com;
root /var/www/blog/public;
index index.php;
location / { try_files $uri $uri/ /index.php?$query_string; }
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
}
}
第三步:重启服务
systemctl restart nginx && systemctl restart php82-php-fpm
第四步:设置目录权限
chown -R nginx:nginx /var/www/blog/storage && chown -R nginx:nginx /var/www/blog/bootstrap/cache
生成应用密钥并验证
进入项目根目录:cd /var/www/blog
执行密钥生成:php artisan key:generate
检查.env文件是否已写入APP_KEY值,未生成则说明PHP未正确加载openssl扩展
打开浏览器访问服务器IP或域名,看到Laravel欢迎页面即完成











