2016-08-01 17 views
0

Я разработал веб-сайт с использованием Yii2 Framework, и, хотя я явно не использовал функции Cache, я думаю, что он делает некоторые вещи, используя APC по умолчанию.Альтернатива APC в Yii2

Клиент, на котором я опубликовал веб-сайт, удалил APC, поскольку он устарел с версии 5.5 и отказывается устанавливать расширение.

Мой клиент теперь получает «неспособность загружать динамическую библиотеку - apc.so» каждый раз, когда они пытаются сохранить или удалить запись в базу данных, а не читать.

Я попытался очистить кэш-папку под папкой времени выполнения в надежде, что веб-сайт будет использовать любую доступную систему, но ошибка все еще ползает.

Они используют opcache. Как я могу перенастроить yii для использования opcache и предотвратить невозможность найти ошибку apc.so?

EDIT:

Это то, что у меня есть под компонентами.

'cache' => [ 
      'class' => 'yii\caching\FileCache', 
     ], 

ответ

1

Если кэш настроен должным образом, вы должны найти что-то вроде этого в конфигурационном файле:

'components' => [ 
    'cache' => [ 
     'class' => 'yii\caching\ApcCache', 
    ], 
], 

Теперь, AFAIK OpCache не требует настройки на уровне кода, так что вы не должны замените эту конфигурацию чем-то конкретным OpCache, но в вашем коде есть прямые вызовы кэша (отсюда и ошибка), так что вы, возможно, захотите использовать некоторые доступные cache component. В случае, если вы не хотите использовать какой-либо новый компонент кэша и в то же время вы не хотите, чтобы удалить вызовы кэша в вашем использовании кода DummyCache:

'cache' => [ 
    'class' => 'yii\caching\DummyCache', 
], 

EDIT:

Похоже, что это не является примером конфигурации Yii 2, больше похожей на конфигурацию PHP. Ищите «невозможно загрузить динамическую библиотеку - apc.so». Вероятно, APC все еще находится в конфигурации PHP, но библиотека была удалена. Связанные вопросы:

+0

Я отредактировал мой ответ. – Bizley

+0

Это была проблема с настройкой PHP. –