Composer报错json文件语法错误_Composer.json格式校验方法【核心】-composer

composer报错json语法错误时,可用php -r命令或check-json.php脚本快速定位错误行号与列位置,因json标准不支持注释,需检查逗号、引号、括号等符号是否匹配。

Composer 报错 json 文件语法错误,基本就是 composer.json 里某个逗号、引号、括号没写对,或者用了注释——JSON 标准根本不支持注释。

用 json_decode() 快速定位错误行

PHP 自带的 json_decode() 能直接告诉你错在哪一行哪一列,比反复看文件高效得多:

php -r "json_decode(file_get_contents('composer.json')) or die('JSON error: '.json_last_error_msg().' at line '.(substr_count(file_get_contents('composer.json'), "
") + 1)."
");"

更实用的是加个行号标记版本(保存为 check-json.php):

<?php
$content = file_get_contents('composer.json');
$result = json_decode($content, true);
if ($result === null) {
    $error = json_last_error();
    $line = 1;
    $pos = json_last_error_msg();
    $lines = explode("
", $content);
    foreach ($lines as $i => $l) {
        if (strpos($content, $l) !== false && strlen(substr($content, 0, strpos($content, $l))) <= json_last_error_msg()) {
            $line = $i + 1;
            break;
        }
    }
    echo "JSON parse error on line $line: " . json_last_error_msg() . "
";
    exit(1);
}

运行 php check-json.php 就能精准定位。常见报错如 syntax error, unexpected '}' 或 Unexpected token 都对应具体位置。

Composer 自带校验命令:composer validate

这个命令不只是检查 JSON 语法,还会验证字段合法性(比如 require 是否是对象、autoload 是否结构合规),但默认不显示详细位置:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » Composer报错json文件语法错误_Composer.json格式校验方法【核心】-composer
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4028539+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4028539+
  • 本周更新: 0+
  • 最后更新: 2026-03-16