laravel-admin安装失败主因是php扩展缺失,典型报错如“the following php extensions are required but are not installed: mbstring, openssl, tokenizer”,或“call to undefined function mb_strlen()”,必须启用mbstring、openssl、tokenizer、xml、curl扩展,并验证php.ini路径、禁用函数及extension_dir配置正确。

laravel-admin 安装失败,八成是 PHP 扩展没装全,不是代码问题,也不是网络问题。
PHP 扩展缺失的典型报错长什么样
执行 php artisan admin:install 时卡住或直接报错,常见现象包括:
- 命令行输出类似
The following PHP extensions are required but are not installed: mbstring, openssl, tokenizer - 报
Call to undefined function mb_strlen()或function openssl_encrypt() is not available - 甚至根本进不了安装流程,
artisan命令本身都执行失败
laravel-admin 明确依赖的扩展清单
它不像纯 Laravel 项目只跑基础逻辑,后台管理需要更多字符串处理、加密、HTTP 请求能力。必须确保以下扩展已启用:
-
mbstring(多字节字符串,中文/emoji 处理必备) -
openssl(密码哈希、API 加密、JWT 签名) -
tokenizer(Laravel 的 Blade 编译和部分 Artisan 命令依赖) -
xml(部分导出功能、第三方 SDK 可能用到) -
curl(后台调用外部 API、通知服务常用)
注意:gd 或 imagick 不是安装阶段必需,但上传头像、生成缩略图时会用到,建议一并装上。
快速验证和启用扩展的实操步骤
别猜,直接查;别改错配置,先确认当前生效的是哪个 php.ini:
- 运行
php --ini查看加载的配置文件路径,重点看Loaded Configuration File - 运行
php -m | grep -E "(mbstring|openssl|tokenizer|xml|curl)"检查是否已加载 - Ubuntu/Debian 上补装:运行
sudo apt install php-mbstring php-openssl php-tokenizer php-xml php-curl,然后sudo systemctl restart php*-fpm(如php8.2-fpm) - CentOS/RHEL/AlmaLinux 上:用
sudo dnf install php-mbstring php-opcache php-openssl php-tokenizer php-xml php-curl,再sudo systemctl restart php-fpm - 宝塔用户:直接进「PHP 设置 → 安装扩展」勾选对应项,点“安装”,完成后重启 PHP 服务
容易被忽略的坑:禁用函数和 extension_dir 路径错位
即使扩展名出现在 php -m 列表里,也可能因其他配置失效:
- 检查
php.ini中的disable_functions是否禁用了proc_open、putenv—— 这俩是artisan命令内部调用子进程必需的 - 确认
extension_dir指向的目录下真有对应.so文件,比如/usr/lib/php/20220829/mbstring.so存在且权限可读 - 如果用的是多版本 PHP(如同时装了 8.1 和 8.2),确保你改的是当前 CLI 使用的 PHP 版本的
php.ini,而不是 Apache 模块用的那个
扩展装完不重启服务,等于白装;改了 php.ini 不验证 php -m,等于蒙眼开车。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











