Есть ли причина, по которой Magento 2 index.php файл вызывается несколько раз при посещении страницы?

#php #magento2

#php #magento2

Вопрос:

Я пытаюсь выяснить, почему Magento 2 работает медленно, и я отключил XDEBUG с помощью xdebug_disable (), и я пытался измерить время выполнения, когда понял, что index.php скрипт вызывался несколько раз.

Я использую microtime () для измерения времени выполнения index.php скрипт и запись выходных данных в файл, а при посещении страницы поиска они печатаются дважды, например:

 define('DEBUG_START', microtime(true)); // At the very top of index.php
...
// content of index.php
...
file_put_contents(DEBUG_FILE, 'Execution time: ' . (microtime(true) - DEBUG_START) . PHP_EOL, FILE_APPEND | LOCK_EX); // At the very end of index.php
  

И результирующий вывод в файле отладки (для страницы поиска https://dev/catalogsearch/result/?q=test ):

 Execution time: 3.8935000896454
Execution time: 2.0475149154663
  

И, кажется, он даже вызывается 3 раза на странице продукта (https://dev/test-product.html ):

 Execution time: 0.62609481811523
Execution time: 0.1364049911499
Execution time: 1.5069890022278
  

Есть идеи, почему?

Обновить:

Я пробовал использовать различные версии Magento (2.2.x и 2.3) и PHP 7.0 и 7.2 с аналогичными результатами…

Ответ №1:

Хорошо, после включения инструментов разработки в Chrome я понял, что другие вызовы были сгенерированы вызовами AJAX, выполняемыми Magento, это стало очевидно на странице оформления заказа, где их было намного больше…