Apc php5.4

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

Куда копать, в курсе кто-нить?)
 

Koc

Новичок
cgi так настроен, что скрипты каждый раз запускаются по новой и php не висит в запущенным и соответственно не держит данные. Или apache mod php использовать или php fpm.
 

domencom

Новичок
Хм, понятно, думал apc работает по принципу memcache. Спасибо)
 

Gas

может по одной?
domencom,
apc.php ты запускаешь так-же (под веб-сервером) как и скрипт, в котором phpinfo показывается, а не из консоли?

и во фразе "php в режиме cgi" не путаешь cgi с cli ?
потому как cgi без префикса fast никто последние лет 10 не использует.
 

domencom

Новичок
domencom,
apc.php ты запускаешь так-же (под веб-сервером) как и скрипт, в котором phpinfo показывается, а не из консоли?
Да
и во фразе "php в режиме cgi" не путаешь cgi с cli ?
нет, не путаю. Емнип fast-cgi модкль под апач не ставил, значит cgi. Хз как проверить точно. Пых вроде не надо собирать с доп опциями под fcgi насколько я понял.
 

Gas

может по одной?
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'));
 

domencom

Новичок
Ну по идее Koc прав насчет работы в cgi режиме. В данном случае не принципиально, ибо перевел кэш на memcache и решил систему новую поставить для работы. Там соберу как модуль 5.4, чтоб без заморочек)
 

Gas

может по одной?
domencom
Кос прав насчёт того что в cgi режиме данные будут херится, но функция apc_cache_info всё равно будет и apc.php вылетать не должен.
Но cgi режим никто не использует и не использовал особо, использовали fastcgi, а там с акселераторами проблем нет.
Другое дело что сейчас в большинстве случаев ставят php-fpm (который кстати тоже работает по fastcgi протоколу) или mod_php.

Собственно для хранения данных, действительно можно не упираться в APC, а взять memcached/redis.
Но всё же акселератор никогда не помешает, особенно если используется zend2?|symfony2
 

Koc

Новичок
Я тоже рекомендую настроить все же вебсервер так, что б apc работал как следует. Опкод-кешер это важно. Недаром в 5.5 он из коробки идет.
 

domencom

Новичок
Koc, это тестовая среда для работы. Боевые настраивают админы с преферансом и балеринами)
ЗЫ настраивать буду в любом случае, надо скил прокачать жеж)
 

Gas

может по одной?
Ну я не сам тот код придумал, так в тестовом файле, идущем с APC.
 

domencom

Новичок
В общем настроил 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
 
Последнее редактирование:

fixxxer

К.О.
Партнер клуба
Манов по настройке fpm+apache нет, потому что это бессмысленная комбинация. В апаче есть mod-php, а fpm используют в 99% случаев с nginx, а в оставшемся 1% - с lighttpd и прочими cherokee.
 

domencom

Новичок
Ну на боевых возможно, а вот на тестовом, когда нужна версия php ниже чем та, что установлена и настроена - вполне, почему нет?
 

fixxxer

К.О.
Партнер клуба
Вариант, конечно. Я скорее недоумеваю, зачем Апач.
 
  • Like
Реакции: Gas

domencom

Новичок
Правда есть нюансы - иногда вываливается 500 ошибка. Покопаю что там, думаю в настройках дело.
В общем ошибка была свзяана с маленьким таймаутом, из-за этого валилось что-то типа такого http://serverfault.com/questions/500467/apache2-proxy-timeout Пофиксил так же как и описал чел) Хе-хе, бложик заведу тут свой, с описанием костылей)
 
Сверху