답변:
이 문제가 발생하여 '제공된 토큰 없음'의 각 인스턴스에 중단 점을 두었습니다.
grep -lr 'No tokens were provided' vendor/
어떤 결과를 반환 :
vendor/zendframework/zend-code/src/Scanner/ConstantScanner.php
vendor/zendframework/zend-code/src/Scanner/TokenArrayScanner.php
vendor/zendframework/zend-code/src/Scanner/MethodScanner.php
vendor/zendframework/zend-code/src/Scanner/PropertyScanner.php
vendor/zendframework/zend-code/src/Scanner/ClassScanner.php
TokenArrayScanner.php
파일 에서 내 예외가 발생했습니다 . "토큰"인스턴스 값이 생성자에 설정되어 있으므로 중단 점을두고 프로세스를 다시 시작했습니다. 불행히도이 생성자는 수많은 파일에서 여러 번 호출되며 토큰 화되는 파일의 데이터는 구문 호출에 포함되지 않습니다. "토큰"은 검사중인 파일의 행에 불과하다는 것을 알 수있었습니다. CarComp의 게시물을 기반으로이 파일을 사용하여 문제가되는 파일을 찾았습니다.
find . -type f -name '*.php' -empty
이것은 검색에서 제외 된 "dev / tests"가 포함 된 경로에 존재하는 여러 파일과 타사 개발자의 단일 파일을 나타 냈습니다. 이 파일을 제거하면 문제가 해결되었으며 컴파일 명령은 예외가 아닌 불만 사항만으로 완료되었습니다.
PHP token_get_all 메소드 를 사용하는 \ Magento \ Setup \ Module \ Di \ Code \ Reader \ ClassesScanner에 의해 구문 분석 된 빈 파일이있는 것 같습니다 . 메소드가 값을 리턴하지 않으면 (예 : 빈 파일의 경우) 예외가 발생합니다.