weiss 4 Опубликовано: 17 февраля 2013 Рассказать Опубликовано: 17 февраля 2013 (изменено) В APC есть баг 59298, который вроде как и не баг, т. к. проявляется только при плохом дизайне, а именно когда имеют место инструкции вида: if (!class_exists('Foo')) { class Foo { // ... } } и инстанцирование происходит в более чем одном месте. В DLE в файле api/api.class.php как раз есть такая, в связи с чем я изредка ловлю такой баг в случае заполнения выделенного лимита памяти APC. Важно то, что это начало происходить только тогда, когда я стал подключать api.class.php на форум под управлением IP.Board для получения доступа к этому API, в то время как API также используется и на сайте. Баг у меня появлялся и с PHP 5.3, и с 5.4, и с разными версиями APC (сейчас 3.1.13), в общем он древний и исправлять его вроде не собираются. В связи со спецификой использования API, которая потенциально предполагает использование этого класса во многих местах, а также популярности APC, я думаю, что имеет смысл подумать над рефакторингом. P. S. Версия DLE 9.6, хотя разницы по-моему нет, т. к. я не замечал каких-то изменений в api.class.php. Изменено 17 февраля 2013 пользователем weiss 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.