Как просмотреть статус моего запроса msql?

Недавно я выполнил запрос MySQL через chrome и закрыл его. Как именно браузер останавливает скрипт PHP с помощью кнопки «Стоп»? Я думал, что PHP является серверным языком и не может контролироваться через клиента.

* UPDATE * Теперь я знаю SHOW PROCESSLIST , но это только показывает, какие потоки запущены. Есть ли SQL-команда, которую я могу использовать для просмотра выполненного запроса с большой детализацией?

0
@feeela разница между клиентом и сервером базы данных not , о чем спрашивает OP.
добавлено автор Pekka 웃, источник
@feeela разница между клиентом и сервером базы данных not , о чем спрашивает OP.
добавлено автор Pekka 웃, источник
Контр-вопрос: знаете ли вы разницу между серверным и клиентским программированием?
добавлено автор feeela, источник
@CodeMonkey Это урок одного материала и должен быть кристально чистым, даже если вы начнете кодировать какое-то приложение на стороне сервера. Я даже не могу представить, как не понимать разницу между HTTP-клиентом и сервером MySQL. Downvotes - это также «вопросы, которые не показывают никаких исследований». В этом случае ответ - это просто быстрый веб-поиск.
добавлено автор feeela, источник
@CodeMonkey Это урок одного материала и должен быть кристально чистым, даже если вы начнете кодировать какое-то приложение на стороне сервера. Я даже не могу представить, как не понимать разницу между HTTP-клиентом и сервером MySQL. Downvotes - это также «вопросы, которые не показывают никаких исследований». В этом случае ответ - это просто быстрый веб-поиск.
добавлено автор feeela, источник
@Pekka 웃 Конечно, не напрямую. Но если вы знаете разницу, ИМО, вы можете получить ответ.
добавлено автор feeela, источник
@Pekka 웃 Конечно, не напрямую. Но если вы знаете разницу, ИМО, вы можете получить ответ.
добавлено автор feeela, источник
@feeela Я хочу приехать и работать с тобой! Потому что я столкнулся с удивительно большим количеством веб-сайтов, для которых это не общеизвестно :( Хотя сложная серая область о том, какие классы подходит для начинающих, одна, я не уверен, что хочу коснуться. +1 для решения моих проблем: )
добавлено автор CodeMonkey, источник
@feeela Я хочу приехать и работать с тобой! Потому что я столкнулся с удивительно большим количеством веб-сайтов, для которых это не общеизвестно :( Хотя сложная серая область о том, какие классы подходит для начинающих, одна, я не уверен, что хочу коснуться. +1 для решения моих проблем: )
добавлено автор CodeMonkey, источник
Почему нисходящий? Это вполне разумный вопрос ИМО
добавлено автор CodeMonkey, источник
Ну нет. ваш php-скрипт, скорее всего, завершен в любом случае (максимальное время выполнения/требуемая память). Если вы хотите работать в mysql-базе данных, и ваши вставки действительно занимают много времени ... пожалуйста, войдите в систему mysql-сервиса через bash/terminal (отредактируйте или с помощью какого-то GUI-инструмента)
добавлено автор Najzero, источник
Ну нет. ваш php-скрипт, скорее всего, завершен в любом случае (максимальное время выполнения/требуемая память). Если вы хотите работать в mysql-базе данных, и ваши вставки действительно занимают много времени ... пожалуйста, войдите в систему mysql-сервиса через bash/terminal (отредактируйте или с помощью какого-то GUI-инструмента)
добавлено автор Najzero, источник
Да, я знаю разницу между серверной и клиентской стороной. Я свободно говорю с Javascript и PHP. «ПОКАЖИТЕ ПРОЦЕССИСТОР»; был латентным ответом, на который я ждал, просто подумал, что я могу заняться более интересным подходом к моему вопросу.
добавлено автор user1105787, источник
Да, я знаю разницу между серверной и клиентской стороной. Я свободно говорю с Javascript и PHP. «ПОКАЖИТЕ ПРОЦЕССИСТОР»; был латентным ответом, на который я ждал, просто подумал, что я могу заняться более интересным подходом к моему вопросу.
добавлено автор user1105787, источник

6 ответы

Клиент (Chrome) не имеет никакого отношения к выполнению скриптов (PHP) на сервере, которые, в свою очередь, не имеют контроля над процессами базы данных (запрос MySQL).

Посмотрите на список процессов вашего сервера, чтобы узнать, что происходит в целом (процессы Apache).

Или еще лучше: используйте SHOW PROCESSLIST; на консоли MySQL, чтобы найти длинный запрос. Вы можете выйти из него, используя KILL ### ID_OF_QUERY ###; .

1
добавлено
ПРОСМОТР ПРОГРАММЫ SHOW; вот что я искал.
добавлено автор user1105787, источник

Нет, вам не нужно держать его открытым. Если вы выйдете из машины, выключится ли автомобиль? Нет.

Извините, это сошло немного сопли, но это тоже не предназначалось.

Браузер, в вашем случае Chrome, фактически не выполняет фактический код. Сервер. Таким образом, как только инструкция выполняется, закрытие браузера больше не имеет значения, поскольку запрос был передан серверу.

1
добавлено
добавлено автор blank, источник
Я надеюсь, что никто не выйдет из движущегося автомобиля ... независимо от того, включен он или нет.
добавлено автор SomeShinyObject, источник
но он будет замедляться, скрипт PHP не будет; )
добавлено автор x4rf41, источник

Давай, ребята, это PHP 101. Цитата из руководства:

Вы можете решить, хотите ли вы, чтобы клиент отключился   ваш скрипт будет прерван. Иногда бывает удобно всегда иметь   сценарии выполняются до завершения, даже если нет удаленного доступа к браузеру   выход. Однако поведение по умолчанию для вашего скрипта   прерывается, когда удаленный клиент отключается.

Выполнение остановится при следующем тикерованном событии после того, как флаг подключения будет установлен на ABORTED - который будет обнаружен, когда PHP попытается вывести вывод на клиент

Текущий запрос MySQL завершит выполнение (поскольку следующее событие, которое имеет контроль над PHP, не происходит до тех пор, пока запрос не будет завершен), но ваш скрипт не пропустит его, если вы явно не установите ignore_user_abort . Всегда важно учитывать это при написании кода.

Есть два пути вокруг этого

  1. Установите ignore_user_abort в true для вызова вашего скрипта
  2. Не печатайте ничего обратно клиенту до завершения всей обработки - поскольку состояние закрытого соединения не будет обнаружено до тех пор, пока вывод не будет сброшен.
0
добавлено
@ Кристофер Туш. И я поддержу вас в надежде, что люди действительно прочитают ваш комментарий. Не могу сказать, сколько людей я знаю, что используют рамки для их магии, не имея представления о том, как работает магия. Трудно контролировать сайт, где 90% кода не написано вами.
добавлено автор Colin M, источник
@Christopher Рамка не может решить все ваши проблемы. Теперь убедитесь, что на самом деле структура может решить это вообще. К тому, что, всегда устанавливая ignore_user_abort ? Это не может быть поведение, которое вы хотите. Вы не можете предположить, что структура будет обрабатывать все для вас, и вы всегда должны быть уверены в том, что она делает.
добавлено автор Colin M, источник
это не тема для другого дня. Я ценю верхнюю часть.
добавлено автор SomeShinyObject, источник
О да, абсолютно. Всегда проверяйте под капотом. По рамкам я имею в виду и встроенную.
добавлено автор SomeShinyObject, источник
Или используйте фреймворк, который делает :-)
добавлено автор SomeShinyObject, источник

Скрипт будет продолжать выполняться независимо от закрытия браузера. Вы можете освободить свой браузер, отправив ответ и разрешив продолжить процесс php.

ignore_user_abort(true);
$response = "Processing!"; 
header("Connection: close");
header("Content-Length: " . mb_strlen($response));
echo $response;
flush();

// Insert your lengthy query here
0
добавлено
@ x4rf41 Вы правы, срок может потребовать корректировки.
добавлено автор phpisuber01, источник
Мне нравится этот метод, по-прежнему нужен set_time_limit, хотя для него достаточно 30 секунд для него
добавлено автор x4rf41, источник

две функции необходимы для выполнения трудоемких php-скриптов. он не имеет ничего общего с браузером (как уже указывали другие пользователи)

lookup ignore_user_abort and set_time_limit

0
добавлено
Действительно ли это относится к HTTP-клиентам? По документации, похоже, это доступно только для скриптов, запущенных через CLI ( ignore_user_abort ).
добавлено автор feeela, источник

Ответ зависит от этого, так как другие упоминаются, вы можете проверить, что работает на сервере mysql, используя список процессов;

Если это один запрос, который занимает много времени, он, скорее всего, продолжит работу после закрытия браузера. PHP отправит запрос в базу данных и будет сидеть в ожидании завершения, в свою очередь браузер будет ожидать, пока веб-сервер завершит создание страницы/ресурса, находящегося на этом URL-адресе

so the request is: browser <-> web server (<-> PHP ) <-> MySQL in an ideal world if the user cancels the request everything would tidy itself up nicely, but that in my experience sadly is not the case, if one of the chain decides not to wait, the process that it is waiting for doesn't necessarily know until it tries to send the response back and fails

0
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
1 345 участник(ов)

Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

MySQL
MySQL
995 участник(ов)

The group is about MySQL. For code use hastebin.com. Admin: @smlkw

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp