Изменить:
Если вы хотите отключить профилировщик из контроллера, вам может понравиться это:
use Symfony\Component\HttpKernel\Profiler\Profiler;
// ...
class DefaultController
{
// ...
public function someMethod(Profiler $profiler)
{
// for this particular controller action, the profiler is disabled
$profiler->disable();
// ...
}
}
Источник: https://symfony.com/doc/current/profiler/matchers.html
Другой способ будет использовать: $this->get('profiler')->disable();
Старый
Просто переключите приложение в режим prod
и отключите режим отладки.
Для этого откройте файл .env
на сервере в вашем любимом редакторе (Примечание: вы никогда не должны фиксировать этот файл в Git, так как там хранятся секреты!).
В этом файле вы должны увидеть раздел, начинающийся с: ###> symfony/framework-bundle ###
Чуть ниже есть APP_ENV=dev
и APP_DEBUG=1
, измените эти две строки на APP_ENV=prod
и APP_DEBUG=0
. Затем сохраните файл.
Далее вы должны очистить кеш для режима prod и установить ресурсы. Для этого выполните следующие команды:
php bin/console cache:clear --env=prod --no-debug
php bin/console cache:warmup --env=prod --no-debug
php bin/console assets:install --env=prod --no-debug --symlink
Если вы сейчас загружаете приложение, оно находится в режиме prod, который включает больше кэширования и работает быстрее, так как отладка отключена.
Примечание:
Для PHP все еще будет ограничение по времени. Если вы все еще достигнете этого предела, вы можете либо изменить настройки PHP, либо, в качестве альтернативы, запустить импорт из CLI, поскольку CLI обычно не имеет временных ограничений. Если пользователям необходимо загружать файлы самостоятельно, я бы посоветовал им загрузить файл, ввести «примечание» о файле в базу данных и сделать чтение cronjob, что в базе данных для не импортированных файлов, и импортировать их.