必须手动补全PHP、Composer和数据库等全部依赖才能运行Laravel项目:先更新系统,再安装PHP 8.2及mbstring/xml/curl等必需扩展,接着下载配置Composer并设国内镜像,然后用create-project或laravel installer创建项目,最后复制.env、生成密钥、设存储目录权限并启动artisan服务。

在刚重装的Ubuntu或CentOS等Linux系统上,没有PHP、Composer和数据库,必须手动补全全部依赖才能运行Laravel项目。
安装基础运行环境
执行sudo apt update && sudo apt upgrade -y更新系统包索引并升级已安装软件(CentOS用户请改用sudo yum update -y或sudo dnf update -y)。
安装PHP 8.2及必需扩展:sudo apt install -y php8.2 php8.2-cli php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath php8.2-opcache。这一步漏掉php8.2-mbstring或php8.2-xml会导致后续composer create-project直接报错退出。
验证PHP是否就绪:php -v应输出PHP 8.2.x;再运行php -m | grep -E 'mbstring|xml|curl'确认三个关键模块已启用。
安装并配置Composer
下载安装脚本:curl -sS https://getcomposer.org/installer | php。
将composer.phar移至系统路径:sudo mv composer.phar /usr/local/bin/composer。
设置国内镜像源加速依赖下载:composer config -g repo.packagist composer https://packagist.phpcomposer.com。不设镜像时,在国内拉取laravel/laravel骨架可能超时失败。
验证安装:composer --version。若提示command not found,说明/usr/local/bin未被纳入PATH,需执行echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc。
创建Laravel项目
方法一:使用create-project(推荐新手)
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
① 创建项目目录并进入:mkdir ~/myapp && cd ~/myapp。
② 执行完整安装命令:composer create-project laravel/laravel . --prefer-dist --no-interaction。注意末尾的.表示当前目录,不能省略,否则会新建子文件夹导致路径混乱。
③ 等待终端滚动完成所有依赖下载与解压,成功后会显示Application ready! Build something amazing.。
方法二:使用Laravel Installer(适合已有经验者)
先全局安装工具:composer global require laravel/installer;再确保~/.composer/vendor/bin已加入PATH;最后运行laravel new myapp即可。此方式跳过composer install过程,但要求网络稳定且能访问GitHub Releases。
初始化项目配置
运行cp .env.example .env复制环境配置文件。
生成应用密钥:php artisan key:generate。这步必须执行,否则访问页面会报No application encryption key has been specified错误。
赋予存储目录写权限:chmod -R 755 storage bootstrap/cache。Laravel运行时需向这两个目录写入日志、缓存和编译后的视图文件,权限不足会导致500错误。
启动内置服务器:php artisan serve --host=0.0.0.0 --port=8000。加--host=0.0.0.0是为了允许局域网其他设备访问,不加默认只监听127.0.0.1。

















