Я нахожусь на выделенном сервере - запускаю несколько порталов в соответствующих виртуальных каталогах. Некоторые из ранее загруженных веб-сайтов используют кеш кода операции Zend. В то время как мой новый торговый портал использует кэш на основе APC, и я перенес этот веб-сайт на новый сервер.
У меня частые внутренние ошибки и сбои сервера 500.
У меня следующая конфигурация:
Конфигурация кеша кода операции Zend:
Opcode Caching Up and Running
Optimization Enabled
Startup OK
Shared memory model mmap
Cache hits 71322
Cache misses 1049
Used memory 13544916
Free memory 42838688
Wasted memory 10725260
Cached scripts 298
Cached keys 309
Max keys 3907
Конфигурация APC: shm_size = 2024M .. и так далее ...
Может ли это быть возможной причиной сбоев? Мне нужно отключить один из них, или они могут работать вместе. Боюсь, что отключение zend не должно вызывать проблем у других веб-сайтов, поэтому просто хотите убедиться?
Я могу представить, что произойдет, если вы попытаетесь запустить два кэша опкодов одновременно. Это очень похоже на это.
Таким образом, вы должны запустить один кеш кода операции и только один.
И это может вас удивить, но вам нужно избавиться от APC и сохранить Zend OPcache. Причина в том, что APC очень и очень аварийный. Это в одиночестве вполне может быть причиной сбоев вашего PHP, как это было для меня и многих других.
Если ваш новый торговый портал не выглядит действительно странным, он должен нормально работать с Zend OPcache.
Это очень вероятная причина сбоя. Если ваше программное обеспечение не использует кеш ключей apc, а только opcache, то обновление до Zend OPcache должно работать. Если вы используете кеш ключей apc, тогда потребуется некоторое программирование для перехода на другое решение для кэширования ключей, такое как memcached. Начиная с php 5.4 и выше, большинство тестов показывают разумную скорость при использовании Zend OPcache по сравнению с APC.