最稳妥方式是用composer create-project安装laravel 10并单独加sanctum:需php 8.2+并启用mbstring、openssl、pdo、tokenizer、xml、json、ctype、intl扩展;执行composer create-project laravel/laravel myapp "10.*",再composer require laravel/sanctum,发布配置、迁移、生成密钥、配置.env及权限。

直接用 composer create-project 安装 Laravel 10,再单独加 Sanctum 扩展,是最稳妥的方式。PHP 8.2 环境必须真实就绪,不能只看 php -v,还要确认关键扩展已启用。
确认 PHP 8.2 及必需扩展已启用
Laravel 10 要求 PHP ≥ 8.1,但搭配 Sanctum(尤其涉及 API token 加密、CSRF 防护)时,强烈建议用 PHP 8.2,并确保以下扩展在运行时加载:
- mbstring:字符串处理,路由和请求解析依赖它
- openssl:JWT token 签名、HTTPS 通信必需
- pdo 和 pdo_mysql(或对应数据库驱动):数据库连接基础
- tokenizer:Blade 模板编译、Artisan 命令解析所用
- xml 和 json:API 响应、配置解析离不开
- ctype 和 intl:字符判断、本地化、时间/数字格式化需要(Mac 用户常漏 intl)
验证命令(Linux/macOS):php -m | grep -E "(mbstring|openssl|pdo|tokenizer|xml|ctype|json|intl)"
每项都应有输出。若缺 intl,Mac 用户执行 brew install php@8.2;Ubuntu/Debian 执行 sudo apt install php-intl;Windows 用户在 PHP 配置界面勾选对应扩展。
用 Composer 创建 Laravel 10 项目
不推荐 laravel new,它依赖全局 installer,易因镜像或权限失败。推荐显式安装:
- 指定版本约束,避免误装 Laravel 11:
composer create-project laravel/laravel myapp "10.*" - 国内网络慢时,先切 Composer 国内镜像:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
或更稳定的:composer config -g repo.packagist composer https://packagist.org+ - 内存不足报错(如
Allowed memory size exhausted)可临时放宽:COMPOSER_MEMORY_LIMIT=-1 composer create-project laravel/laravel myapp "10.*"
安装完成后,进入项目目录:cd myapp
安装并启用 Laravel Sanctum
Sanctum 是 Laravel 官方轻量级 API 认证方案,适合 SPA、移动端或 Token-based API 场景:
- 执行安装命令:
composer require laravel/sanctum - 发布配置与迁移文件:
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider" - 运行迁移生成
personal_access_tokens表:php artisan migrate - 在
app/Providers/AuthServiceProvider.php的boot()方法中注册 Sanctum:Sanctum::usePersonalAccessTokens();(默认已有,确认未被注释) - 确保
config/auth.php中的apiguard 使用sanctumdriver
此时 Sanctum 已集成完毕,可配合 Auth::user() 或中间件 auth:sanctum 使用。
必做收尾配置
跳过这些步骤,项目大概率启动失败或认证异常:
- 生成应用密钥:
php artisan key:generate(不是可选项,缺失会导致空白页或 cipher 错误) - 复制并编辑环境文件:
cp .env.example .env,然后检查三项:
–APP_KEY:由上一步自动生成,勿手动填
–APP_URL:开发设为http://localhost:8000(不用127.0.0.1,防 Chrome CSRF 问题)
–DB_DATABASE:填真实数据库名,不是用户名;密码为空时写DB_PASSWORD=,别留空或写null - 设置 storage 权限(Linux/macOS):
chmod -R 755 storage bootstrap/cache - 启动服务验证:
php artisan serve,浏览器访问http://localhost:8000出现欢迎页即成功
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











