PHP 7.3.7: Seld\JsonLint\ParsingException: «[..] не содержит допустимого JSON» при установке symfony/flex за прокси

Я пытаюсь создать новый проект Symfony, используя composer create-project symfony/website-skeleton, но при этом сталкиваюсь с довольно загадочной ошибкой:

  [Seld\JsonLint\ParsingException]
  "https://flex.symfony.com/p/symfony,flex,iv1.4.4,1562912965" does not contain valid JSON
  Parse error on line 1:

  ^
  Expected one of: 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['

Я использую корпоративный прокси, и у меня настроена переменная среды http_proxy. Я использую Windows 10, и один из моих коллег, использующих Windows 7, может использовать эту команду. Я могу получить доступ к файлу из браузера.

Вот часть подробного вывода:

Installs: symfony/flex:v1.4.4
  - Installing symfony/flex (v1.4.4): Downloading https://api.github.com/repos/symfony/flex/zipball/4b5d25a5538e2dc37ff84645fe7498a9a04947b3 using proxy tcp://10.253.35.2:3128
Downloading (connecting...)
Following redirect (2) https://codeload.github.com/symfony/flex/legacy.zip/4b5d25a5538e2dc37ff84645fe7498a9a04947b3
Downloading https://codeload.github.com/symfony/flex/legacy.zip/4b5d25a5538e2dc37ff84645fe7498a9a0494Downloading (100%)Writing C:/Users/xxx/AppData/Local/Composer/files/symfony/flex/fad7a4db67a7fb5211c7a3a547ef84ef86431bd3.zip into cache from A:\lims-api\vendor/symfony/flex/9a283015aad4190ca526aa484fa25343

 Extracting archiveLoading plugin Symfony\Flex\Flex
Downloading https://flex.symfony.com/p/symfony,flex,iv1.4.4,1562912965 using proxy tcp://10.253.35.2:3128
Downloading https://flex.symfony.com/p/symfony,flex,iv1.4.4,1562912965 using proxy tcp://10.253.35.2:3128
Downloading https://flex.symfony.com/p/symfony,flex,iv1.4.4,1562912965 using proxy tcp://10.253.35.2:3128
Reading ./composer.json
Loading config file ./composer.json
Failed to initialize global composer: Composer could not find the config file: C:/Users/xxx/AppData/Roaming/Composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Reading A:\lims-api/vendor/composer/installed.json


  [Seld\JsonLint\ParsingException]
  "https://flex.symfony.com/p/symfony,flex,iv1.4.4,1562912965" does not contain valid JSON
  Parse error on line 1:

  ^
  Expected one of: 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['


Exception trace:
 () at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Json/JsonFile.php:299
 Composer\Json\JsonFile::validateSyntax() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Json/JsonFile.php:272
 Composer\Json\JsonFile::parseJson() at A:\lims-api\vendor\symfony\flex\src\Downloader.php:248
 Symfony\Flex\Downloader->parseJson() at A:\lims-api\vendor\symfony\flex\src\Downloader.php:194
 Symfony\Flex\Downloader->fetchFile() at A:\lims-api\vendor\symfony\flex\src\Downloader.php:183
 Symfony\Flex\Downloader->get() at A:\lims-api\vendor\symfony\flex\src\Downloader.php:138
 Symfony\Flex\Downloader->Symfony\Flex\{closure}() at A:\lims-api\vendor\symfony\flex\src\ParallelDownloader.php:278
 Symfony\Flex\ParallelDownloader->getNext() at A:\lims-api\vendor\symfony\flex\src\ParallelDownloader.php:90
 Symfony\Flex\ParallelDownloader->download() at A:\lims-api\vendor\symfony\flex\src\Downloader.php:141
 Symfony\Flex\Downloader->getRecipes() at A:\lims-api\vendor\symfony\flex\src\Flex.php:691
 Symfony\Flex\Flex->fetchRecipes() at A:\lims-api\vendor\symfony\flex\src\Flex.php:419
 Symfony\Flex\Flex->install() at A:\lims-api\vendor\symfony\flex\src\Flex.php:339
 Symfony\Flex\Flex->update() at A:\lims-api\vendor\symfony\flex\src\Flex.php:320
 Symfony\Flex\Flex->checkForUpdate() at n/a:n/a
 call_user_func() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:176
 Composer\EventDispatcher\EventDispatcher->doDispatch() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:116
 Composer\EventDispatcher\EventDispatcher->dispatchPackageEvent() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Installer.php:620
 Composer\Installer->doInstall() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Installer.php:229
 Composer\Installer->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Command/CreateProjectCommand.php:195
 Composer\Command\CreateProjectCommand->installProject() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Command/CreateProjectCommand.php:145
 Composer\Command\CreateProjectCommand->execute() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Command/Command.php:245
 Symfony\Component\Console\Command\Command->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.php:835
 Symfony\Component\Console\Application->doRunCommand() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.php:185
 Symfony\Component\Console\Application->doRun() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.php:258
 Composer\Console\Application->doRun() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.php:117
 Symfony\Component\Console\Application->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.php:104
 Composer\Console\Application->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/bin/composer:61
 require() at C:\ProgramData\ComposerSetup\bin\composer.phar:24

Я был бы признателен за любую идею о том, что я мог бы попробовать :)

Вы пытались использовать http:// вместо tcp:// для URL-адреса прокси?

Nicolai Fröhlich 18.07.2019 17:18

@nifr Как я мог это сделать? Моя переменная окружения http_proxy — это http://, а не tcp://, можно ли где-нибудь изменить этот параметр?

Saphir 18.07.2019 17:24

Если это уже http://, то я на неправильном пути. Я думал, что вы используете tcp:// из-за вывода журнала [..] using proxy tcp://10.253.35.2:3128.

Nicolai Fröhlich 18.07.2019 17:29

Что происходит, когда вы получаете доступ к этому URL-адресу с помощью веб-браузера? Из журнала кажется, что он получает пустой ответ

JorgeeFG 18.07.2019 17:32

Какая аутентификация использует ваш корпоративный прокси?

JorgeeFG 18.07.2019 17:32

@JorgeeFG Из браузера я получаю то, что кажется правильным файлом JSON.

Saphir 18.07.2019 17:41

@JorgeeFG Моя переменная окружения http_proxy http://username:password@ip:port, я больше ничего не знаю? Раньше он работал на моем предыдущем компьютере, недавно я получил новый с Win10, и с тех пор я больше не могу заставить его работать :s

Saphir 18.07.2019 17:43

Ну, ваш прокси использует TCP в соответствии с файлом журнала. Я думаю, что в Windows это HTTP_PROXY в верхнем регистре, вы можете проверить?

JorgeeFG 18.07.2019 18:00
Downloading https://flex.symfony.com/p/symfony,flex,iv1.4.4,1562912965 using proxy tcp://10.253.35.2:3128 кажется, что время ожидания истекло для этого запроса, потому что он пытается это сделать 3 раза, прежде чем выдать ошибку. Посмотрите, есть ли у вас те же настройки прокси в вашем браузере, которые получают правильный ввод.
JorgeeFG 18.07.2019 18:02
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
9
2 105
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Эта проблема: https://github.com/symfony/flex/issues/484 не похоже на то же самое, но это натолкнуло меня на мысль попробовать другую версию PHP; Я использовал PHP 7.3.7, и он корректно работает с PHP 7.1.30.

Я не знаю, связана ли несовместимость с symfony/flex или самим композитором, но я полагаю, что об этом нужно где-то сообщать?

Другие вопросы по теме