master_x
Pitavale XXI wieku
stream_register_wrapper падает апач
В общем есть код:
Если в переменной test код без оишбок (надо еще проверить относятся ли к таковым варнинги и нотисы), то все нормально, если есть ошибка (фатальная), то апач падает. Код писал ради любопытства (как нормальную альтернативу eval). Если кого заинтересует расскажу подробней, зачем писал код. Вопрос: нормально ли такое поведение апача, ведь по сути дела происходит инклюд скрипта, но инклюд то необычный...
Проверял на:
PHP 5.1.2, Apache 1.3
RHEL4, Windows XP, CentOS 4.
Везде Segmentation fault.
-~{}~ 06.03.06 02:07:
похоже придется писать багрепорт.
-~{}~ 06.03.06 02:09:
с нотисами все нормально
В общем есть код:
PHP:
<?php
class StrangeEval
{
var $position;
var $codeBit;
function stream_open($path, $mode, $options, &$opened_path)
{
$url = parse_url($path);
$this->codeBit = $url["host"];
$this->position = 0;
return true;
}
function stream_read($count)
{
$ret = substr($GLOBALS[$this->codeBit], $this->position, $count);
$this->position += strlen($ret);
return $ret;
}
function stream_eof()
{
return $this->position >= strlen($GLOBALS[$this->codeBit]);
}
}
$test='<? echo "Hello world"; ?>';
stream_register_wrapper('seval', 'StrangeEval');
include('seval://test');
?>
Проверял на:
PHP 5.1.2, Apache 1.3
RHEL4, Windows XP, CentOS 4.
Везде Segmentation fault.
-~{}~ 06.03.06 02:07:
похоже придется писать багрепорт.
-~{}~ 06.03.06 02:09:
с нотисами все нормально