2016-05-12 6 views
5

У меня эта проблема довольно долгое время, но все медленнее и медленнее отображать простую страницу моего проекта Symfony 2.Медленное выполнение проекта Symfony локально

Это моя среда разработки:

  • WampServer 2,2 с PHP 5.3.13, MySQL 5.5.24 и Apache 2.2.22
  • Symfony 2,7 ​​
  • Netbeans 8,1

I я действительно не уверен, что это происходит от Symfony, хотя это более очевидно с проектом symfony (4-5 минут для отображения страницы).

Даже вызов phpmyadmin из wampserver длинный.

Нет проблем с памятью, процессором или диском. Используя диспетчер ресурсов для проверки, все кажется прекрасным.

Это журналы Apache. У меня километров:

PHP Fatal error: Maximum execution time of 90 seconds exceeded in C:\\wamp\\www\\MyProject\\app\\cache\\dev\\classes.php on line 5270, referer: http://localhost/MyProject/web/app_dev.php/myURL?init 
[Thu May 12 14:11:28 2016] [error] [client 127.0.0.1] PHP Stack trace:, referer: http://localhost/MyProject/web/app_dev.php/myURL?init 
[Thu May 12 14:11:28 2016] [error] [client 127.0.0.1] PHP 1. Monolog\\Handler\\AbstractHandler->__destruct() C:\\wamp\\www\\MyProject\\app\\cache\\dev\\classes.php:0, referer: http://localhost/MyProject/web/app_dev.php/myURL?init 
[Thu May 12 14:11:30 2016] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 90 seconds exceeded in C:\\wamp\\www\\MyProject\\app\\cache\\dev\\classes.php on line 5270, referer: http://localhost/MyProject/web/app_dev.php/myURL?init 
[Thu May 12 14:11:30 2016] [error] [client 127.0.0.1] PHP Stack trace:, referer: http://localhost/MyProject/web/app_dev.php/myURL?init 
[Thu May 12 14:11:30 2016] [error] [client 127.0.0.1] PHP 1. Monolog\\Handler\\AbstractHandler->__destruct() C:\\wamp\\www\\MyProject\\app\\cache\\dev\\classes.php:0, referer: http://localhost/MyProject/web/app_dev.php/myURL?init 
[Thu May 12 14:11:32 2016] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 90 seconds exceeded in C:\\wamp\\www\\MyProject\\app\\cache\\dev\\classes.php on line 5270, referer: http://localhost/MyProject/web/app_dev.php/myURL?init 
[Thu May 12 14:11:32 2016] [error] [client 127.0.0.1] PHP Stack trace:, referer: http://localhost/MyProject/web/app_dev.php/myURL?init 
[Thu May 12 14:11:32 2016] [error] [client 127.0.0.1] PHP 1. Monolog\\Handler\\AbstractHandler->__destruct() C:\\wamp\\www\\MyProject\\app\\cache\\dev\\classes.php:0, referer: http://localhost/MyProject/web/app_dev.php/myURL?init 
[Thu May 12 14:13:04 2016] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 90 seconds exceeded in C:\\wamp\\www\\MyProject\\app\\cache\\dev\\classes.php on line 5270, referer: http://localhost/MyProject/web/app_dev.php/myURL?init 

Есть ли кто-нибудь какие-либо идеи о том, что я могу сделать ... Я уже переустановил несколько раз мои программного обеспечения, но это ничего не меняет

Спасибо за идеи и inquieries.

+0

У вас включен XDebug? –

+0

absolutly .. использовать debug с Netbeans – mlwacosmos

+0

Попробуйте отключить XDebug (полностью) и проверьте, улучшилось ли оно. Это не должно сильно замедлять Symfony, но стоит попробовать. –

ответ

3

Основываясь на комментариях под вопросом, мы пришли к ответу, что основной причиной является XDebug, который, как правило, оказывает значительное влияние на производительность PHP.

Вы написали в своей команде, что профилировщик Symfony теперь показывает 3-6 секунд, но на практике это занимает намного больше. Это означает, что сам PHP, вероятно, не единственная проблема.

Я бы предложил изучить инструменты разработчика (Firebug и т. Д., В зависимости от используемого браузера) и проверить временную шкалу на вкладке Сеть. Возможно, это даст вам дополнительную информацию, где искать причину.

Для моего локального компьютера обычно требуется PHP около секунды (на dev env и в зависимости от состояния кэша и на какой странице) для выполнения Symfony.

+0

Я даю url для версий xdebug в зависимости от версии PHP https: // x debug.org/files/ – mlwacosmos

2

То, что я сделал, чтобы ускорить время выполнения Symfony в режиме разработчика на моей локальной машине:

  1. Установка PHP 7. *, это действительно повышает производительность.
  2. Enabled расширения Opcache PHP в комплекте с PHP
  3. Set realpath_cache_size в 4048k
  4. Установить Redis и включить кэширование метаданных в конфигурации доктрины. Помните, что каждый раз, когда вы добавляете/меняете файлы сущностей, вы должны очищать красную кеш вручную. Это стоит того, что увеличивает время загрузки примерно на 70-100 мс в режиме dev.
  5. Выполнение composer dump-autoload --optimize для создания карты классов.

У меня было около 700-1000мс времени загрузки в режиме dev перед оптимизацией, и теперь это 250-350.

Конечно, на вашей машине будут отличаться номера.

+0

Извините, я не могу этого сделать ... Я понимаю, что вы говорите, и я уверен, что вы правы, но я работаю в большой фирме, и я не решайте версии PHP и т. д. Он является национальным. – mlwacosmos

+2

Но я помню, что вы только что сказали за двадцать лет, когда мы PHP 7 – mlwacosmos