Windows10下Composer安装Laravel报disk_free_space未定义错误
Windows 10 + XAMPP 环境 Composer 安装 Laravel 报
disk_free_space() 未定义错误解决方案 报错根因
该致命错误触发逻辑非常明确:Composer 运行时调用的 PHP CLI 环境无法识别内置的磁盘空间检测函数disk_free_space(),常见诱因有两个:
- 系统环境变量优先级错乱,Composer 没有调用 XAMPP 目录下的 PHP,而是匹配到了系统里其他残缺的 PHP 环境(比如微软应用商店默认带的精简版PHP、之前卸载残留的PHP配置),这类环境要么默认禁用了磁盘检测类函数,要么版本过低不兼容新版Composer
- 刚发布的Composer开发快照版本在Windows环境下存在命名空间加载bug,会误将全局PHP内置函数识别为Composer命名空间下的自定义函数,直接触发未定义报错
修复步骤
- 先确认Composer实际绑定的PHP路径,打开PowerShell执行
composer -vvv about,查看输出首行标注的PHP可执行文件路径,正常应该指向你XAMPP安装目录下的D:\Programme\XAMPP\php\php.exe,如果路径不对先改环境变量 - 修正系统Path优先级:右键此电脑→属性→高级系统设置→环境变量,在系统变量的Path列表中,把XAMPP的PHP路径
D:\Programme\XAMPP\php拖拽到列表最顶部,把其他无关的PHP路径(比如WindowsApps下的PHP条目、之前手动安装的残版PHP路径)直接删除,注意:修改完必须关掉所有已打开的PowerShell窗口重开,环境变量才会生效 - 核对PHP禁用函数配置:打开
D:\Programme\XAMPP\php\php.ini,搜索disable_functions配置段,检查列表里是否存在disk_free_space、diskfreespace两个条目,存在就直接删掉,保存配置文件 - 清理Composer历史缓存,PowerShell执行
composer clear-cache - 删除之前安装失败生成的半完成
blog目录,重新执行安装命令composer create-project --prefer-dist laravel/laravel blog即可
特殊情况兜底
如果以上步骤操作完仍然报相同错误,直接将Composer回退到经过验证的Windows稳定版本即可,执行命令:
composer self-update --2.2.18
回退完成后重新走安装流程就行。
内容的提问来源于stack exchange,提问作者DerWashbr
相关产品推荐
相关产品推荐

