Fatal error: APCuIterator

При вызове импорта через консоль:
php /var/www/cs_cart/admin.php -p --dispatch=advanced_import.import.import --preset_id=17

Вызывает ошибку:

Fatal error: APCuIterator::__construct(): APC must be enabled to use APCuIterator in /var/www/cs_cart/app/Tygh/Backend/Cache/Apcu.php on line 72

Система:
PHP Version 7.1.27

APCu Support Enabled
Version 5.1.17
APCu Debugging Disabled
MMAP Support Enabled
MMAP File Mask /tmp/apc.wTTVJB
Serialization Support php, igbinary
Build Date Feb 8 2019 12:18:28

Проверьте какая версия вызывается в консоли, видимо не та версия, на которой сайт крутится.

1 лайк

Подскажете как?

Зайдите по SSH и выполните php -v, чтобы узнать какая версия.

php -i | grep apc - чтобы узнать есть ли там APC.

В целом задайте вопрос хостеру, моментально разберутся, не советую самому лезть в консоль.

1 лайк

Да я сам себе хостер - так уж получилось :wink:

#  php -v
PHP 7.1.25 (cli) (built: Dec  8 2018 13:52:58) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.1.25, Copyright (c) 1999-2018, by Zend Technologies

# php -i | grep apc
/etc/php.d/40-apcu.ini,
/etc/php.d/50-apc.ini,
apc
apcu
MMAP File Mask => /tmp/apc.XXXXXX
apc.coredump_unmap => Off => Off
apc.enable_cli => Off => Off
apc.enabled => On => On
apc.entries_hint => 4096 => 4096
apc.gc_ttl => 3600 => 3600
apc.mmap_file_mask => /tmp/apc.XXXXXX => /tmp/apc.XXXXXX
apc.preload_path => no value => no value
apc.serializer => php => php
apc.shm_segments => 1 => 1
apc.shm_size => 32M => 32M
apc.slam_defense => Off => Off
apc.smart => 0 => 0
apc.ttl => 0 => 0
apc.use_request_time => On => On

В консоли вроде всё в порядке…

Не совсем - вот настройка

apc.enable_cli => Off => Off

надо ее включить.

1 лайк

Помогло! Браво.
Попутно коснулся настроек apc и задумался - может как-то оптимизировать их. Ну там память, туды-сюды :wink:

Нашел несколько рекомендаций:
Одни говорят аот так на сервере с 16 GB памяти:
apc.shm_size=2048M
apc.max_file_size=10M
apc.num_files_hint=20000
apc.user_entries_hint=20000

Другие говорят, что ЦСК и так хорошо оптимизированна и достаточно только apc.shm_size прибавить.

Третьи вон что советуют:

Где здесь толк есть? Сервер VPS два ядра 2GB оперативки.