Вопрос, по сути, заключается в разработке динамически загружаемых плагинов php в php, которые не вызывают помехи другим плагинам или основному коду.
Единственный известный мне способ потребовал бы от вас перепроектировать оригинальный class_lib.php и создать класс «Plugin», который бы действовал как прокси-класс, который при каждом вызове функции / метода выполнял бы новый экземпляр php и передавал аргументы функции с помощью вызова json_decode, а затем повторить ответ с помощью json_encode.
function proxyExternalFunction($fileName, $functionName, $args, $setupStatements = '') {
$output = array();
$command = $setupStatements.";include('".addslashes($fileName)."');echo json_encode(".$functionName."(";
foreach ($args as $arg) {
$command .= "json_decode('".json_encode($arg)."',true),";
}
if (count($args) > 0) {
$command[strlen($command)-1] = ")";//end of $functionName
}
$command .= ");";//end of json_encode
$command = "php -r ".escapeshellarg($command);
exec($command, $output);
$output = json_decode($output,true);
}
это должно быть сделано для каждого отдельного вызова функции / метода через прокси-класс ... не очень эффективно, и это никогда не сработает для объектов / ассоциативных массивов, которые содержат ссылки на ресурсы или другие несериализуемые ссылки на переменные.
Другим более эффективным вариантом будет http://www.php.net/runkit, который позволяет вам взаимодействовать с долго работающим встроенным экземпляром php.