код php, скомпилированный с bcompiler, не работающим

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

Кажется, существует класс, скомпилированный с bcompiler 'class.viewimage.php' - он содержит bz сжатый код 'BZh91AY&SY; iu...'

Существует затем регулярный php файл, который называет этот класс:

require('class.viewimage.php');
$my_image = NEW ViewImage ($MEDIALIB->Filestore);

Когда этот код выполняется, он просто плюется текстовым содержанием скомпилированного класса в браузер ('BZh91AY&SY; iu...'). Это - потребовать строка, которая вызывает это. Кажется мне как php, волшебно не знает, что это - скомпилированный код.

Насколько я знаю я установил Bcompiler в системе, поскольку этот код больше не отказывает (и это отказывало, когда я сначала сделал миграцию):

if (!extension_loaded('bcompiler')) {
    $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
    dl($prefix . 'bcompiler.' . PHP_SHLIB_SUFFIX);
}

Любая справка ценится.

1
задан cweiske 6 April 2011 в 04:56
поделиться

1 ответ

PHP считает все требуемые / включаемые файлы обычным текстом и будет обрабатывать их как таковые, пока не обнаружит либо (короткий тег), (обычный тег ) или <% (тег ASP) последовательности символов в потоке, после чего он переключается в режим PHP, пока не достигнет конца скрипта или соответствующего закрывающего тега (?> , %> ). Таким образом, PHP не может обрабатывать скомпилированный ввод как программный код. Даже EVAL не поможет, поскольку он просто вызывает тот же синтаксический анализатор, который изначально не запускал двоичный вход.

Сам BZip-код также не является исполняемым, если он не упакован заглушкой автоизвлечения.

Поскольку кажется, что файл в формате BZip, почему бы не попробовать разархивировать файл и посмотреть, что вы получите? Возможно, файл класса был загружен как дистрибутив .bz2 и просто переименован. Несжатая копия может содержать соответствующие оболочки для выполнения.

0
ответ дан 2 September 2019 в 23:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: