Phpstorm 502 bad gateway как исправить

Установил недавно PHPStorm, создал в нем два файлика, index.html и index.php.
Оба с одинаковым текстом:

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>Тут крч название вкладки</title>
</head>
<body>
    Тут крч текст страницы
</body>

Запускаю html файл — все хорошо, открывается вкладка, все как надо.
Запускаю php файл — все плохо, открывается вкладка с «502 Bad Gateway»..
PHP установлен, CLI Interpreter (php-cgi) вродь как тоже присутствует…
PHPStorm

insolor's user avatar

insolor

45.7k16 золотых знаков54 серебряных знака95 бронзовых знаков

задан 24 июн 2017 в 12:49

Nazar Kalinovskiy's user avatar

6

Необходимо установить php-cgi и указать в Settings-> Languages & Frameworks -> PHP CLI Interpreter версию вашего PHP.

Например для версии PHP 7.1:

sudo apt install php7.1-cgi

Шаг 1
Шаг 2

0xdb's user avatar

0xdb

51.4k194 золотых знака56 серебряных знаков232 бронзовых знака

ответ дан 1 фев 2021 в 12:55

budvic's user avatar

budvicbudvic

111 бронзовый знак

Возможно, на сервере не хватает необходимых библиотек, для apache это пакет libapache2-mod-php

Под убунту вы можете установить его командой:

sudo apt-get install php-cgi libapache2-mod-php 

(установка последней версии)

И после этого попробовать переустановить php-cgi

Для Php 5:

sudo apt-get install php5-cgi

Для Php 7:

sudo apt-get install php7.0-cgi

A K's user avatar

A K

28.4k19 золотых знаков54 серебряных знака130 бронзовых знаков

ответ дан 21 фев 2018 в 8:42

Andrey Chiglintcew's user avatar

1

Your privacy

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

  • ОС: 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

Solution to 502 Bad Gateway when running php in phpstorm

Step 1: Open PHPStrom.file->setting->Build,Execute,Deployment->Deployment

Step 2: Fill in the Name and select the Type as In place. Note: The name value can be written at will, I wrote project

Step 3: Fill in the Web server root URL address,

Intelligent Recommendation

About 502 bad gateway error solution

View the nginx error log Display: Solution one: Modify permissions Test successfully after modifying permissions Restart PHP and NGINX The permissions are restored to the original Solution two: Modify…

Solution: 502 Bad Gateway Nginx / 1.14.2

Browser Access Server Times: 502 Bad Gateway Nginx / 1.14.2 lab environment:Consistent with this experiment, That is, the state of the experiment, and there is no problem with the NGINX configuration,…

Nginx report 502 Bad Gateway error solution

Nginx + PHP-FPM + MySQL website, access to a page of NGINX, report 502 Gateway error, usually see this error, can determine the problem of PHP-FPM, not Nginx issues. By monitoring the error log of Ngi…

More Recommendation

SVN COPY 502 BAD GATEWAY Solution

2019 Unicorn Enterprise Heavy Glour Recruitment Python Engineer Standard >>> Nginx makes the reverse agent, the intranet machine uses Apache2 to do WebDAV’s SVN server, Nginx uses homemade SS…

502 bad gateway

Nginx+php-fpm 502 bad gateway There are many reasons why nginx appears 502, but most of the reasons can be attributed to the insufficient amount of resources, which means that there is a problem with …

nginx 502 bad gateway

When PHP compresses the image (the number of images exceeds 1000), it reports the nginx 502 bad gateway error. I searched the Internet and found a more comprehensive solution. The article links: The c…

Как я понял, единственная цель PhpStorm+Openserver это «заменить» устаревший локальный сервер PhpStorm на современный Openserver со всеми настройками, возможными дополнениями, дебагеррами и т.д.

Цель PhpStorm’a — предоставить IDE. Цель OpenServer’а — предоставить полноценную (до некоторой степени) среду разработки и выполнения PHP-скриптов/приложений/сайтов/etc. Помимо интерпретатора PHP, в OpenServer’е есть масса других модулей (программ), в зависимости от «комплектации»: от различных баз данных, для всяких «офисов» и т.д. Это связано с тем, что в большинство проектов не ограничивается исключительно интерпретатором PHP, многим так же требуются различные БД, иногда хранилища (например, Redis или Memcached) и прочие инструменты.

PhpStorm пишет — configuration php.ini file does not exist. Но php.ini там разумеется есть.

Возможно, это связано с тем, что в путях содержится что-то отличное от латинских букв (иногда могут так же «мешать» пробелы в путях, хотя это бывает гораздо реже).

Обычно, процесс выглядит следующим образом:
0. Указывать путь до интерпретатор PHP не всегда обязательно или необходимо, иногда без этого можно вполне обойтись
1. В папке, в которую установлен OpenServer, среди прочего, есть папка domains, в которой вы создаёте папку с будущим проектом (сайтом) и называете её, например, site1.local
2. (Пере)запускаете OpenServer, крайне желательно это делать с правами администратора, т.к. он будет вносить изменения в файл hosts системы, что бы сайт стал доступен по соотв. адресу (в данном примере, по адресу: site1.local)
2.1. Открыть проект так же можно через меню OpenServer’a: Мои сайты -> «Нужный сайт»

Что бы проект открывался в PhpStorm’е по соотв. («правильному») адресу, вместо встроенного веб-сервера — я думаю, нужно изменить какие-то настройки проекта в PhpStorm (какие именно — сказать затрудняюсь, т.к. никогда не пользовался таким способом работы с проектом).

P.S. Для того, что бы отлаживать проект в разных браузерах, обычно используют различные BrowserSync’и, LiveReload’ы и т.п.

P.P.S. Если Вам нужен простой веб-сервер с поддержкой PHP, исключительно для разработки/отладки — такой сервер есть в самом PHP.

Понравилась статья? Поделить с друзьями:
  • Как найти путь по графику колебаний
  • Как найти работу по темпераменту
  • Как найти камни счастья
  • Как найти второй пробел в строке excel
  • Как называется озеро которое нашел васютка