Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Игнорирование max_execution_time (ВИДЕО)  (Прочитано 869 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн root_x

  • Автор темы
  • Активист
  • *
  • Сообщений: 331
  • создатель tbs-mbs
    • Просмотр профиля
    • Уникальный  БлогСервис
Это не трюк - это глюк. Я думал что это из-за xdebug, но нет.

https://www.youtube.com/watch?v=g_mEvsu9qDE

ПОЧЕМУ?
---
Словесное описание: на локалхосте игнорируется max_execution_time. Скрипты выполняются вечность (я проверил).


Или возможно всему этому есть некое объяснение???
« Последнее редактирование: 02 Мая 2016, 16:00:51 от root_x »
и лишь только время создает рисунки на лицах наших

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн root_x

  • Автор темы
  • Активист
  • *
  • Сообщений: 331
  • создатель tbs-mbs
    • Просмотр профиля
    • Уникальный  БлогСервис
Re: Игнорирование max_execution_time (ВИДЕО)
« Ответ #2 : 02 Мая 2016, 17:23:16 »
http://php.net/manual/en/info.configuration.php#ini.max-execution-time
?
вы о чем? О безопасном режиме и о том что нельзя изменить, ВО ВРЕМЯ исполнения скрипта, время выполнения?

Зря я видео сделал (?) - вы хотя-бы в описание глянули.
Цитировать
1 показываю info.php - 20 байт
2 потом содержимое info.php
3 значение max_execution_time в php.ini
4 конфиг путь в выводе phpinfo
5 значение max_execution_time в выводе phpinfo
6 значение timeout в конфиге apache2 (http://php.net/manual/ru/info.configuration.php#ini.max-execution-time)
7 содержимое скрипта why.php
8 запуск why.php в опера (ффокс постоянно падает от why.php)
...
« Последнее редактирование: 02 Мая 2016, 17:26:45 от root_x »
и лишь только время создает рисунки на лицах наших

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Игнорирование max_execution_time (ВИДЕО)
« Ответ #3 : 02 Мая 2016, 17:39:29 »
Безопасного режима нет давно.
Разные SAPI по-разному устроены. CLI вообще плевать хотело на такие мелочи, как max_execution_time например.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн root_x

  • Автор темы
  • Активист
  • *
  • Сообщений: 331
  • создатель tbs-mbs
    • Просмотр профиля
    • Уникальный  БлогСервис
Re: Игнорирование max_execution_time (ВИДЕО)
« Ответ #4 : 02 Мая 2016, 17:46:51 »
странно. а как же тогда сделать (записать в конфиг и чтобы оно не игнорилось) ограничение по времени (я НЕ о командной строке)?
« Последнее редактирование: 02 Мая 2016, 17:50:09 от root_x »
и лишь только время создает рисунки на лицах наших

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Игнорирование max_execution_time (ВИДЕО)
« Ответ #5 : 02 Мая 2016, 18:18:14 »
Вы описание параметра прочитали? Внимательно?
Там конкретно описывается, на что он влияет. Причём прямо в первом абзаце. В первом предложении даже!
Цитировать
This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser.
Если у вас скрипт застрял в системном вызове, он не завершится, пока не завершится вызов и управление не вернётся в PHP.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн root_x

  • Автор темы
  • Активист
  • *
  • Сообщений: 331
  • создатель tbs-mbs
    • Просмотр профиля
    • Уникальный  БлогСервис
Re: Игнорирование max_execution_time (ВИДЕО)
« Ответ #6 : 02 Мая 2016, 20:44:55 »
Но на предыдущих версиях ограничение времени выполнения работало. Я помню что специально УВЕЛИЧИВАЛ это значение для создания большой таблицы (на 5 млн записей). Там скрипт прекращал работу и выдавал ошибку - дословно не помню: "...maximum 30 seconds..."
---
в принципе это сейчас не очень важно. НО, блин, зацепило, потому что интересно с чего это так вдруг и внезапно?
---
Баг?, которому почти 10 лет - незн. интересненько https://bugs.php.net/bug.php?id=48949 Только там другая ситуация.

Пользователь добавил сообщение 02 Мая 2016, 22:12:49:
Методом научного тыка выяснл, что
<?php
if (ini_set('max_execution_time''1')) {
    echo 
'Ok<br>';
} else {
    echo 
'bad<br>';
}
//    exit;
$x 0;
while (
true) {
    
// echo "$x<br>\n";
    
$z date('U');
    echo 
"$z<br>\n";
    
$x++;
}
?>


при помощи ini_set можно управлять временем выполнения. И в итоге (при превышении допустимого времени) будет долгожданная ошибка.
Fatal error: Maximum execution time of 1 second exceeded in /var/www/html/why.php on line 11
По прежнему я без понтятия почему это в php.ini игнорируется.
« Последнее редактирование: 02 Мая 2016, 22:12:49 от root_x »
и лишь только время создает рисунки на лицах наших

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Игнорирование max_execution_time (ВИДЕО)
« Ответ #7 : 02 Мая 2016, 22:44:06 »
А теперь почитай про то, как работает ini_set, что является возвращаемым значением…
А игнорируется, очевидно, потому, что
а) либо не тот php.ini грузится,
б) либо настройки перекрываются после php.ini,
ц) либо грузится неверный SAPI.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн root_x

  • Автор темы
  • Активист
  • *
  • Сообщений: 331
  • создатель tbs-mbs
    • Просмотр профиля
    • Уникальный  БлогСервис
Re: Игнорирование max_execution_time (ВИДЕО)
« Ответ #8 : 03 Мая 2016, 03:49:22 »
у меня один php.ini. Когда я менял в нем значение, то оно изменонное отображалось в выводе phpinfo

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

Цитировать
ц) либо грузится неверный SAPI.
наверное...(?)

Цитировать
А теперь почитай про то, как работает ini_set, что является возвращаемым значением…
Я делал этоif (ini_set('max_execution_time', '1')) {
    echo 'Ok<br>';
} else {
    echo 'bad<br>';
}
//    exit;
для того чтобы понять - устанавливает эта ини_сэт лимит или нет.
и лишь только время создает рисунки на лицах наших

 

Страница сгенерирована за 0.033 секунд. Запросов: 25.