Apc php5.4

  • Автор темы Автор темы domencom
  • Дата начала Дата начала

domencom

Новичок
Приветствую, возникла необходимость настроить себе php в режиме cgi. Собрал версию 5.4, поставил apc, но при запуске тестового скрипта apc.php выдает: No cache info available. APC does not appear to be running.
phpinfo

PHP Version 5.4.23

Server API CGI/FastCGI

APC Support enabled
Version 3.1.13
Directive Local Value Master Value
apc.cache_by_default On On
apc.canonicalize On On
apc.coredump_unmap Off Off
apc.enable_cli On On
apc.enabled On On

Куда копать, в курсе кто-нить?)
 
cgi так настроен, что скрипты каждый раз запускаются по новой и php не висит в запущенным и соответственно не держит данные. Или apache mod php использовать или php fpm.
 
domencom,
apc.php ты запускаешь так-же (под веб-сервером) как и скрипт, в котором phpinfo показывается, а не из консоли?

и во фразе "php в режиме cgi" не путаешь cgi с cli ?
потому как cgi без префикса fast никто последние лет 10 не использует.
 
domencom,
apc.php ты запускаешь так-же (под веб-сервером) как и скрипт, в котором phpinfo показывается, а не из консоли?
Да
и во фразе "php в режиме cgi" не путаешь cgi с cli ?
нет, не путаю. Емнип fast-cgi модкль под апач не ставил, значит cgi. Хз как проверить точно. Пых вроде не надо собирать с доп опциями под fcgi насколько я понял.
 
cтранно тогда, в файле apc.php сообщение выдаёт код:
PHP:
if (!function_exists('apc_cache_info') || !($cache=@apc_cache_info('opcode'))) {
    echo "No cache info available.  APC does not appear to be running.";
    exit;
}

если phpinfo показывает что apc enabled то и функция apc_cache_info должна быть.
у себя проверил, проблем нет.

даже не знаю, могу только предположить что дёргаются разные версии php при показе phpinfo и запуске apc.php, проверь настройки виртуалхостов, добавь в скрипт с phpinfo ещё строку
PHP:
var_dump(function_exists('apc_cache_info'));
 
Ну по идее Koc прав насчет работы в cgi режиме. В данном случае не принципиально, ибо перевел кэш на memcache и решил систему новую поставить для работы. Там соберу как модуль 5.4, чтоб без заморочек)
 
domencom
Кос прав насчёт того что в cgi режиме данные будут херится, но функция apc_cache_info всё равно будет и apc.php вылетать не должен.
Но cgi режим никто не использует и не использовал особо, использовали fastcgi, а там с акселераторами проблем нет.
Другое дело что сейчас в большинстве случаев ставят php-fpm (который кстати тоже работает по fastcgi протоколу) или mod_php.

Собственно для хранения данных, действительно можно не упираться в APC, а взять memcached/redis.
Но всё же акселератор никогда не помешает, особенно если используется zend2?|symfony2
 
Я тоже рекомендую настроить все же вебсервер так, что б apc работал как следует. Опкод-кешер это важно. Недаром в 5.5 он из коробки идет.
 
Koc, это тестовая среда для работы. Боевые настраивают админы с преферансом и балеринами)
ЗЫ настраивать буду в любом случае, надо скил прокачать жеж)
 
Ну я не сам тот код придумал, так в тестовом файле, идущем с APC.
 
В общем настроил fpm Server AP : FPM/FastCGI
Проблема с APC оказалась в другом - наши кодеры в конструкторе класса кеша проверяют PHP_SAPI и бросают эксепшн если не apache2handler. Как-то так короче, но зато теперь fpm настроен и это гуд - реально начало быстрее локально работать да и вообще нафиг нам старые интерфейсы). Правда есть нюансы - иногда вываливается 500 ошибка. Покопаю что там, думаю в настройках дело. Проблема ещё заключается в том, что нет вменяемых манов для настроек, еле нашел: http://wiki.apache.org/httpd/PHP-FPM По нему и делал + описание (хоть и устаревшее) куда тыкать и для чего параметры в конфигах. http://rusadmin.biz/ustanovka-i-nastrojka-php-fpm.html
 
Последнее редактирование:
Манов по настройке fpm+apache нет, потому что это бессмысленная комбинация. В апаче есть mod-php, а fpm используют в 99% случаев с nginx, а в оставшемся 1% - с lighttpd и прочими cherokee.
 
Ну на боевых возможно, а вот на тестовом, когда нужна версия php ниже чем та, что установлена и настроена - вполне, почему нет?
 
Вариант, конечно. Я скорее недоумеваю, зачем Апач.
 
  • Like
Реакции: Gas
Правда есть нюансы - иногда вываливается 500 ошибка. Покопаю что там, думаю в настройках дело.
В общем ошибка была свзяана с маленьким таймаутом, из-за этого валилось что-то типа такого http://serverfault.com/questions/500467/apache2-proxy-timeout Пофиксил так же как и описал чел) Хе-хе, бложик заведу тут свой, с описанием костылей)
 
Сверху