#php #ajax #wordpress
Вопрос:
У меня есть загрузчик файлов на странице WordPress (/страница 1/). Когда я загружаю файл на эту страницу, загрузчик AJAX вызывает /wp-admin/admin-ajax.php (как я вижу в Chrome Network analyser). Но если я ограничу свое сетевое подключение до «Медленного 3G», то время загрузки моего большого файла истечет, и admin-ajax.php появляется » (отменено)» через 40 секунд.
php.ini показывает max_execution_time = 40
, поэтому это ожидается.
Поэтому я добавил следующий код в wp-config.php чтобы увеличить его: set_time_limit(50)
Теперь я повторяю попытку загрузки (без перезагрузки /страница 1/), и admin-ajax.php вызывается, но тайм-аут все еще составляет 40 секунд (неправильно). Я осмотрел admin-ajax.php и он должен загружаться wp-config.php.
Тем не менее, если я перезагружаю /страницу1/ и повторно загружаю, время ожидания становится 50 секунд (как и ожидалось).
С тех пор wp-config.php загружается как /страница1/, так и admin-ajax.php, Я не понимаю, почему первое работает, но не второе.
Если я добавлю трассировки в самый верх admin-ajax.php, похоже, что сценарий выполняется только после завершения загрузки. Так что я не понимаю, как set_time_limit(50)
из wp-config.php из /page1/ может фактически увеличить время выполнения до следующего вызова admin-ajax.php.
Моим намерением было ввести set_time_limit(300)
только admin-ajax.php чтобы увеличить время выполнения только загрузок, но это не сработает.