Как да се справим с грешката: Fatal error: Maximum execution time of 30 seconds exceeded

Следните настройки се прилагат само за локален сървър!

--------------------------------------------------------------

Това е PHP Timeout грешка. Тя се получава, когато изпълняваме много дълга транзакция, чието изпълнение е надвишило допустия по подразбиране времеви интервал от 30 сек. Най-често това става при инсталиране на нов модул. След тази грешка модулът не е инсталиран напълно, но обикновено се показва като активиран. Необходимо е да го деактивираме.

Тази грешка може лесно да се избегне, ако добавим следния ред в sites/default/settings.php

ini_set('max_execution_time', 0);

--------------------------------------------------

- след като се появи запазете страницата отворена и отидете в Базата данни. Необходимо е да се изтрият всички таблици в базата данни, за да избегнете появата на друга грешка ("table variable already exist).
- след това добавете в sites/defaults/settings.php

на ред  302

ini_set('max_execution_time',0);

Обновете страницата с грешката и ще продължите с инсталацията.!!!

-----------------------------------------------------

С последните версии на Друпал тази грешка се появява дори при началната инсталация на Друпал, защото стандартно заложените параметри на XAMPP не са достатъчни.

За тази цел по-добрата идея е да направите промени в някои файлове на XAMPP преди да започнете инсталацията:

  • File \xampp\php\php.ini :

    max_execution_time = 600
    max_input_time = 600
    memory_limit = 256M
    post_max_size = 21M
    mysql.connect_timeout = 600

    За Drupal 8:
    extension=php_fileinfo.dll (премахнете ";" в първата колона)

  • File \xampp\mysql\bin\my.ini :

    max_allowed_packet = 64M
    innodb_flush_log_at_trx_commit = 2

Необходимо е да рестартирате "Apache" и "MySQL" след направените промени!