Мы используем APCu в качестве кэша данных для PHP на ряде различных установок — рабочих станциях, серверах разработки и производства. К сожалению, API APCu кажется движущейся целью, и официальной документации практически нет (что я смог найти). На данный момент мы получаем совершенно разные возвращаемые значения для apcu_cache_info()
…
С APCu 4.0.1 запись выглядит так:
[
'key' => 'the_entry_key',
'atime' => 1450646021,
'ctime' => 1450646021,
'mtime' => 1450650861,
'dtime' => 0,
// ...
]
С APCu 4.0.7 это выглядит так:
[
'info' => 'the_entry_key',
'access_time' => 1450650861,
'creation_time' => 1450646021,
'modification_time' => 1450646021,
'deletion_time' => 0,
// ...
]
Согласно источник на GitHub, теперь это выглядит так:
[
'info' => 'the_entry_key',
'access_time' => 1450650861,
'creation_time' => 1450646021,
'mtime' => 1450646021,
'deletion_time' => 0,
// ...
]
Мы видели другие внезапные изменения API в прошлом, например, когда apcu_sma_info()
а также apcu_cache_info()
должен был быть вызван со строкой "user"
в качестве первого параметра — пока они не сделали. Я понимаю, что эти изменения каким-то образом связаны с сохранением или отменой совместимости со старым расширением APC, но становится немного трудно догадаться, как взаимодействовать с APCu.
Задокументированы ли эти изменения где-нибудь, с номером версии, с которой мы можем проверить? Будут ли еще какие-то изменения в этом в ближайшем будущем? Как я могу получить уведомление о них, кроме как видеть, что мое приложение сломалось?
документация на php.net нечего сказать по этому поводу, и при этом CHANGELOG файл. В журнале изменений PHP также не упоминается об обратном несовместимом изменении (возможно, потому что APCu по умолчанию не связан с PHP).
Задача ещё не решена.
Других решений пока нет …