Ситуація така, що не щастить мені з eAccelerator, як-то некоректно він працює разом з php-fpm. Виходить так, що час від часу php-fpm падає, і доводиться його піднімати ручками або тупо повисають процеси php-cgi доводиться їх лагодити killall -9 php-cgi. Факт в тому, що після відключення eAccelerator все починало працювати як годинник, але навантаження - божевільна. Можливо дана проблема пов'язана з тим, що використовується старовинна ubunta 8.04, або з тим, що php найчастіше зібраний ручками, але косяки набридли і було вирішено перейти c eAccelerator на xCache. У eAccelerator є така чудова штука як міні адмін-панелька, виявилося, що і у xCache вона теж присутня і не менш інформативна, ніж у eAccelerator. Далі розповідь піде саме про встановлення xCache адмінки і особливостей використання XCache спільно з ZendOptimizer.
XCache BSD - розширення для PHP, що дозволяє кешувати скомпільовані сторінки.
Особливості роботи з Zend Optimizer
XCache може використовуватися спільно з Zend Optimizer і кешувати прекомпілірование скрипти. Для цього слід дотримуватися двох умов:
- завантаження XCache до Zend Optimizer.
- завантаження XCache виконується директивою zend_extension. Тут з неприємностей - необхідність вказівки абсолютного шляху до завантажуваного розширенню (див. Код PHP5, Zend / zend_extensions.c, функція zend_load_extension). Тобто при оновленні PHP потрібно правити шлях. На жаль.
Адміністративний інтерфейс до XCache
З зрозумілими наслідками у вигляді доступу до кешу і керування ним через будь-який довільний скрипт на сервері.
перевірити наявність в xcache.ini
За замовчуванням цей параметр включений.
задати xcache.admin.user і xcache.admin.pass.
xcache.admin.pass - насправді не пароль, а його md5-хеш. Може бути отриманий як:
Або через сам PHP:
Після цього при зверненні до адміністративних функцій XCache будуть перевірятися значення змінних PHP_AUTH_USER / PHP_AUTH_PW, і при їх відсутності видаватися 401А помилка.
Для цього, в каталозі з скриптами XCache Administration створюється файл config.php (приклад його, config.php.sample, є в дистрибутиві XCache).
І конфігурація Apache:
Якщо ж Ви використовуєте php-fpm як fastcgi а в якості фронтенда nginx - то конфиг може виглядати соледующім чином:
Зрештою в налаштуваннях phpini Ви побачите наступне:
Адаменко виглядає так: