- ОС: Windows 7 — 64 бит
- PHP: автономный php.exe (версия PHP 5.5)
- PhpStorm
Версия: 10.0.1
Все советы, которые я вижу, чтобы обойти ошибку 502 Gateway в PhpStorm, касаются только того, чтобы убедиться, что у вас есть ваш интерпретатор и набор исполняемых файлов. Я использую автономный php.exe (http://windows.php.net/download#php-5.5 VC11 x86 Thread Safe (2015-Oct-01 01:25:56)) и установите все на PHP 5.5

Я честно запутался, почему я все еще получаю 502 ошибки.
Я запускал его несколько раз, и он запускался один раз (не было никаких изменений от экземпляров до или после), что показалось мне довольно странным, но только для одной загрузки страницы, и это не было повторяющимся событием.
Изменить: понял одно отличие, когда я открыл другой проект для сравнения. Однажды, когда это сработало, контекстное меню правой кнопки мыши выглядело иначе. Другой проект отлаживается просто отлично. В чем разница? Что дает? Оба проекта используют один и тот же переводчик.
… Также выяснилось, что возвращаясь к рабочему проекту, дополнительный пункт контекстного меню исчез.

Редактировать 2: Все еще проблемы с охотой определенный файлы будут запускаться сразу после запуска PHPStorm и будут иметь это контекстное меню. Другие файлы, однако, не будут при запуске PHPStorm. Если я попытаюсь отладить файл без дополнительного меню, сервер выдаст 502, и тогда у «хороших» файлов не будет дополнительного меню. Если я начну с того, которое сначала имеет дополнительное контекстное меню, оно запустится, хотя, если я последую с одним из них, первый файл перестанет работать. Мне кажется, что я делаю «успехи», но я также все больше сбиваюсь с толку, тем более что каждый раз, когда я пытаюсь запустить другой файл, он спрашивает меня «[x] — конфигурация запуска одного экземпляра. Вы уверены? Вы хотите остановить бегущую? В этот момент я нажимаю «Стоп и Rerun». Я бы подумал, что у тех, кто дает 502, ничего не будет перенесено в «хорошие» файлы, если что-то будет остановлено и перезапущено … но, похоже, это не так.
Изменить 3:
Интересно, может быть, моя настройка интерпретатора может быть плохой, поэтому я схватил securewamp ( http://securewamp.org/en/ ), получил переносную версию, setup, использовал установку по умолчанию с добавленным xdebug (эта версия: php_xdebug-2.4.0rc1-5.4-vc9.dll) и точно такую же проблему.
Я даже в потере дополнительных вещей, чтобы проверить.
Редактировать 4: Очень уверен, что это что-то в PHPStorm сейчас. Один из файлов php, который никогда не работал, я открыл прямо с php.exe, и он работал нормально. Это должен быть какой-то параметр в phpstorm, который я пропустил, или какая-то неработающая функция.
Редактировать 5: по следу потенциальных причин, попробуйте инструмент Run> Validate Debugger. Путь и URL оставлены по умолчанию (нет причин их менять), и попытка проверки результатов приводит к появлению сообщения «Пожалуйста, проверьте, правильно ли настроен веб-путь к сценарию проверки» и перечисляет мой каталог.
Редактировать 6: Проверка выполнялась только на 127.0.0.1, потому что это то, на чем работал SecureWAMP. Отключение сервера приводит к «не удалось выполнить сценарий проверки:« Соединение отказано: соединение ».
Редактировать 7: Как указывает LazyOne, мои файлы на первом изображении имеют два разных типа файлов (php и html). Я сделал это с помощью файлов .php с обеих сторон, я просто взял два файла, над которыми я сейчас работаю, для скриншота. Вот пример одного из php.

Редактировать 8: я думаю, что я, наконец, получаю твердую картину того, когда это работает, а когда нет.
В контекстном меню была красная селедка. Те, у кого нет подменю, будут прекрасно работать при соблюдении условий.
-
О. Работающий файл (пока еще не замечен образец для рабочих файлов против нерабочих, фактически один рабочий и один нерабочий файл имеют одинаковый код) должен быть выбран.
-
B. Ни при каких условиях не может «остановить и перезапустить» файл, так как это приведет к тому, что файл впоследствии попадет в неисправный шлюз.
-
C. Вы не можете открыть нерабочий файл. Если вы это сделаете, текущий сервер зависнет и будет продолжать зависать до тех пор, пока для другого файла не будет выполнена «остановка и повторный запуск», после чего все открытые файлы получат ошибку неверного шлюза. Открытие нерабочего файла приведет к тому, что в настоящее время рабочие файлы получат ошибку неверного шлюза.
-
D. Чтобы рабочие файлы снова заработали после C или D, требуется перезагрузка системы.
Изменить 9:
Возился с инструментом настройки отладчика validate и, наконец, получил его, чтобы дать мне другой ответ (на мой взгляд, глупо было просто включить целевой каталог в URL скрипта проверки, даже если я думал, что сайт размещается прямо из этого каталога. Ну да ладно. Во всяком случае, была одна ошибка, не уверен, является ли это причиной моих проблем или нет, но буду исследовать ее.

Изменить 10:
Добавление в php.ini для устранения вышеуказанной ошибки …
xdebug.remote_enable = 1
Изменить 11: Никакой реальной выгоды не видно из добавленной строки.
Изменить 12: Публикация запрошенного скриншота браузера

Редактировать 13: Обновления EAP (10.0.2) версии phpStorm. Похоже, результат пока тот же, хотя теперь, по крайней мере, консоль показывает мне ошибку, а не только веб-страницу. Также попытался полностью запустить через apache-сервер SecureWAMP, чтобы выяснить, есть ли что-то, что мешает мне отказаться от каталога htdocs по умолчанию.

11
Решение
FWIW, я думаю, что это может быть так же просто, как проблема тайм-аута.
Моя среда очень похожа на OP, Win764, PhpStorm 10.0.4, PHP 5.5.27.
У меня есть несколько автоматических тестов F3, где я часто вижу ошибку 502 Bad Gateway, когда запускаю тестовый код «в браузере», используя один из маленьких значков на панели инструментов, который всплывает в правом верхнем углу моего кода. (См. Изображение ниже.)
На некоторых моих тестовых страницах ошибка появляется впервые. Запускать один раз, не удается, запустить снова, работает нормально. Другие, кажется, требуют 2 или 3 пробега, прежде чем они будут работать. Но у меня есть пара, которую я никогда не видел в браузере.
OTOH, если я щелкну правой кнопкой мыши в окне кода для любой из этих страниц и отладлю, код работает нормально, независимо от того, позволяю ли я выполнять его полностью или проходить по строкам.
Понятно, что мои настройки инструмента не ошибаются. Некоторые тесты можно запускать из браузера каждый раз.
Я думаю, что тесты с вероятностью неудачи выполняют довольно тяжелые запросы к БД. И мой интерпретатор php настойчиво истекает мои запросы, когда я запускаю их в браузере.
Но каждый раз, когда страница запускается и время ожидания истекает, один или несколько ее запросов кэшируются, и в следующий раз, когда я запускаю ее, страница работает быстрее. В конце концов, для тех, кто будет работать вообще, достаточно работы с базой данных кэшируется, чтобы страница могла попасть под провод и закончиться до истечения срока.
Так что это моя теория. Чего я не нашел, так это где и как изменить интервал ожидания переводчика. То есть интервал времени ожидания при запуске из PhpStorm. У меня уже есть
max_execution_time = 300
в моем файле php.ini и вижу, что он установлен, когда я использую phpinfo (). Но я должен верить, что он переопределяется, когда интерпретатор запускается из PhpStorm.
Обновление — возможное исправление: поэтому, хотя мой файл php.ini имеет настройку max_execution_time, я попытался посмотреть на настройки интерпретатора php, как описано в эта страница поддержки PhpStorm, шаги 1 и 2. Там мое max_execution_time было 0. Итак, я добавил для него настройку с использованием пользовательского интерфейса на этой странице, чтобы он был таким же, как 300 у меня в php.ini. (Затем я закрыл и снова открыл PhpStorm — большую паранойю старого программиста.) До сих пор я видел одно плохое сообщение шлюза на моей «худшей» странице, но даже оно запускалось во второй раз. Другие, кажется, все бегут к завершению. Я сделаю некоторое бдительное ожидание и посмотрю, поможет ли это «исправление» в долгосрочной перспективе.
(И прежде, чем кто-либо почувствует необходимость указать на это: да, кэширование запросов — ужасная идея для автоматических тестов. Нужно исправить это — но только после того, как я выясню, как увеличить время ожидания интерпретатора, чтобы мои тесты могли успешно выполняться без кэширования.)

2
Другие решения
Это не дает прямого ответа на вопрос, но может быть полезно людям, спотыкающимся об ошибке 502 Bad Gateway.
Еще один способ получить 502 Неверный шлюз Ошибка — это когда php-скрипты выдают слишком много ошибок / предупреждений / уведомлений. У меня был скрипт, который генерировал тысячи уведомлений из-за неинициализированных переменных, которые привели бы к 502 Неверный шлюз ошибка.
Одним из решений является исправление кода php, генерирующего эти уведомления, или, наоборот, отключение отчетов о уведомлениях в php.ini файл путем добавления & ~E_NOTICE к error_reporting установка.
Например
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE
0
За последние 24 часа нас посетили 8737 программистов и 856 роботов. Сейчас ищут 323 программиста …
PHPStorm 502 Bad Gateway
Тема в разделе «IDE», создана пользователем illyadibrova, 28 янв 2018.
-

illyadibrova
Новичок- С нами с:
- 28 янв 2018
- Сообщения:
- 3
- Симпатии:
- 0
Установл PHPStorm, создал новый проект, запускаю и мне выдает ошибку «502 Bad Gateway». Как устранить?
#1
illyadibrova,28 янв 2018
-

artoodetoo
СуперстарКоманда форума
Модератор- С нами с:
- 11 июн 2010
- Сообщения:
- 10.818
- Симпатии:
- 1.171
- Адрес:
- там-сям
кроме phpstorm ты что-то установил? он сам по себе веб-сервером не является. это «редактор».
#2
artoodetoo,28 янв 2018
-

illyadibrova
Новичок- С нами с:
- 28 янв 2018
- Сообщения:
- 3
- Симпатии:
- 0
Спасибо за ответ, ничего не устанавливал, что посоветуете?
#3
illyadibrova,28 янв 2018
-
artoodetoo
СуперстарКоманда форума
Модератор- С нами с:
- 11 июн 2010
- Сообщения:
- 10.818
- Симпатии:
- 1.171
- Адрес:
- там-сям
если комп сильный, советую установить виртуальную машину VirtualBox и под её управлением запускать полноценные системы LAMP.
если слабенький комп, то для винды есть такой OpenServer. в любом случее, это будет не одна программа, а набор (т.н. «стек») из собственно веб-сервера, интрпретатора php и сервера баз данных mysql. они все нужны!#4
artoodetoo,28 янв 2018
-

illyadibrova
Новичок- С нами с:
- 28 янв 2018
- Сообщения:
- 3
- Симпатии:
- 0
Спасибо большое
#5
illyadibrova,28 янв 2018
(Вы должны войти или зарегистрироваться, чтобы разместить сообщение.)
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
phpstorm drupal debug configuration problem — how do I fix a «502 host gateway error»?
(context information)
I Just started with phpstorm, which appears mostly setup, except for the problem describe below.
I’ve got phpstorm setup with xdebug and so on.
I’m running a local machine XAMPP serve.
The XAMPP server has vhosts, all of which work correctly through browsers.
The XAMPP vhosts are configured in etc/hosts on Windows with normal looking URLs but with a .lcl top domain.
For example, my local sites have names similar too:
www.siteone.lcl
—
I have a phpstorm project setup pointing to all the files in a given local drupal site such as:
C:websiteswww.siteone.lcl
where the Drupal files exist for that given local website.
—
The local Drupal website runs and is available.
When I visit the site’s index.php file in phpstorm and click the view is browser buttons at the right of the screen, it launches the drupal site at its root and displays it correctly using the following URL:
http://www.siteone.lcl/
—
However, in phpstorm when I choose «run», the site is launched with the following URL, shows «502 bad gateway» error, and cannot reach the local website to debug it.
http://localhost:63342/www.siteone.lcl/index.php
—
What is the problem above, and how does one fix it?
How does one configure phpstorm to run in debug with the correct URL?
What is causing phpstorm to prepend the — http://localhost:63342 — special port?
Shouldn’t the URL look like, even if the special port is needed:
http:///www.siteone.lcl:63342/index.php
Does anyone know how to fix this phpstorm debugging configuration problem?
Я ранее использовал WordPress для Cloud9, но даже не могу запустить новую версию с помощью JetBrains IDE.
У меня есть две машины: одна Windows (XAMPP) и одна Mac (MAMP) и получение такой же ошибки «502 Bad Gateway», когда браузер пытается войти на страницу панели управления WP.
Я загрузил новую копию WP, настроил свою базу данных и запустил index.php в корневой папке WP. Это приводит меня к опросу базы данных и до страницы входа в WP, после чего браузер висит там. Он пытается загрузить что-то, и ничего не происходит, и если я остановлю браузер и обновить, я получу ошибку 502, и я буду продолжать получать эту ошибку в ЛЮБЫХ ДРУГИХ файлах, которые я пытаюсь запустить с этого момента (кажется, что что-то связано с сервером в среде IDE, и я должен перезапустить его).
PHP-интерпретатор, похоже, работает нормально, потому что у меня нет проблем с запуском каких-либо других моих проектов NON-WORDPRESS.
Адрес проекта http://localhost:63342/wordpress/ но я заметил, что эта ссылка ниже показана в окне сервера PHP-CGI: /Applications/MAMP/bin/php/php7.0.0/bin/php-cgi -e -b 127.0.0.1:56502
Это означает, что этот php-cgi, указывающий на другой порт, означает что-нибудь? Я новичок в WordPress, и это был легкий запуск в Cloud9, но я просто не понимаю, почему он не работает в PhpStorm 10.
Как я уже сказал, на двух машинах есть одна проблема (WIN, MAC, MAMP, XAMMP, PHPSTORM), поэтому я знаю, что это я что-то здесь отсутствует.
Любая помощь могла бы быть полезна.