Я управляю приложением PHP, и мы хотим включить APC сейчас. Проблема в том, что у нас есть два класса, которые требуют друг друга. Очень простой пример будет выглядеть следующим образом:APC, PHP и два класса, которые требуют друг друга
in class_a.php
require_once('path/to/class_b.php)';
class a extends something {
//
}
in class_b.php
require_once('path/to/class_a.php');
class b extends something2 {
//
}
Однако, когда мы включаем APC, есть «[АРС ошибка] Невозможно переопределить класс class_b в class_b.php». Ок, это потому, что класс уже загружен через require_once() в class_a.php, поэтому, если какой-то третий файл requre class_b.php, APC поднимет ошибку.
Как решить эту проблему с «круговой ссылкой»?
Какая версия PHP у вас есть? Убедитесь, что пути являются точными. Убедитесь, что у вас нет затяжного файла с тем же именем в вашем include_path, если вы не укажете полный путь. – roychri
попробуйте использовать автозагрузчики - это не позволит вам вернуться в такие проблемы – Mikhus
PHP 5.3 и APC - самая последняя версия. Все включенные пути являются абсолютными и точно такими же. – ciscocert