“Input/output error”是磁盘IO故障信号,源于文件系统或存储设备异常,常见于NFS挂载、SSD损坏、磁盘满载/只读、Docker卷权限问题等场景。
Composer install/update 报错 “Input/output error” 是磁盘 IO 故障信号
这个错误不是 Composer 本身的问题,而是底层文件系统或存储设备已无法正常读写。常见于挂载的 NFS、损坏的 SSD、满载或只读的磁盘、Docker volume 权限异常等场景。一旦出现 Input/output error,Composer 通常会在解压 zip 包、写入 vendor/ 或读取 composer.lock 时中断,且错误不可重试掩盖。
快速定位是否为真实磁盘 IO 问题
别急着重装 Composer 或清缓存,先验证系统级读写能力:
- 运行
df -h检查磁盘使用率 —— 若/或/home(或项目所在分区)显示100%,Input/output error很可能由空间耗尽引发 - 执行
touch /tmp/composer-test && rm /tmp/composer-test—— 若也报错Input/output error,说明问题在根文件系统层 - 检查
dmesg | tail -20—— 出现end_request: I/O error、ataX.Y failed command: READ或NFS: server not responding等日志,即确认是硬件/NFS 层故障 - 若项目在 Docker 中,进入容器后运行
mount | grep $(pwd),确认挂载类型和选项(如ro只读或nfs异常)
常见诱因与对应修复动作
不同场景下,解决路径差异很大,不能一概而论: