Почему у меня падает сервер?

panika

Новичок
Этот код не выводит ошибок, сервер просто ложиться.
Я ничего не нашел неправильного в коде, никаких синтаксических ошибок, я в печали.
PHP:
function blablabla($types){
	...
	for($i=0;$i<count($types);$i++){
		$forreplace[] = 'lalalal';
		$replace[] = 'lalala';
	}
	if( $forreplace && count( $forreplace ) > 0 ) $content = str_replace( $forreplace, $replace, $content );
	
	return $content;
}
Можно ли использовать функцию класса внутри функции этого же класса?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Расставь die('here');
 

panika

Новичок
если убрать return $content; то все работает, только ничего не возвращает.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
А что "говорит"?
 

panika

Новичок
вылетает ошибка в windows что Apache HTTP Server не отвечает.
Код:
Сигнатура проблемы:
  Имя события проблемы:	APPCRASH
  Имя приложения:	httpd.exe
  Версия приложения:	2.2.4.0
  Штамп времени приложения:	45a476e3
  Имя модуля с ошибкой:	php5ts.dll
  Версия модуля с ошибкой:	5.3.1.0
  Штамп времени модуля с ошибкой:	4b051b35
  Код исключения:	c00000fd
  Смещение исключения:	0016708f
  Версия ОС:	6.0.6002.2.2.0.768.3
  Код языка:	1049
  Дополнительные сведения 1:	fd00
  Дополнительные сведения 2:	ea6f5fe8924aaa756324d57f87834160
  Дополнительные сведения 3:	fd00
  Дополнительные сведения 4:	ea6f5fe8924aaa756324d57f87834160
 

panika

Новичок
Логи сервера найти не смог, поставил
PHP:
ini_set('error_log', 'script_errors.log');
ini_set('log_errors', 'On');
Файл не создается, туда записываются только те ошибки которые видны в браузере.
 

panika

Новичок
PHP:
@error_reporting ( E_ALL ^ E_NOTICE );
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false );
@ini_set ( 'error_reporting', E_ALL ^ E_NOTICE );
ini_set('error_log', 'script_errors.log');
ini_set('log_errors', 'On');

...

Class Engine {

...

	function Parse_links($content){
		global $_CONFIG;
		preg_match_all( '#\\[link\\.([a-z0-9]+)\\]([^\[]*?)\\[#i', $content, $types );
		$inblock = $types[2];
		$types = $types[1];
		$ui = ( $_CONFIG['rewrite_url']=='yes' )? '0' : '1' ;
		
		for($i=0;$i<count($types);$i++){
			$forreplace[] = '[link.' . $types[$i] . ']' . $inblock[$i] . '[/link.' . $types[$i] . ']';
			$replace[] = '<a href=\'' . $this->SMainLink . ( ( isset( $this->ALinkReverse[$types[$i]][$ui] ) )? $this->ALinkReverse[$types[$i]][$ui] : '') . '\'>' . $inblock[$i] . '</a>';
		}
		
		if( $forreplace && count( $forreplace ) > 0 ) $content = str_replace( $forreplace, $replace, $content );
		
		return $content;

	}

...

}
 

AmdY

Пью пиво
Команда форума
убери собаки, замени E_ALL ^ E_NOTICE на просто E_ALL
если бы дал весь код, я бы прогнал его пошагово через xdebug, можешь сам сделать
 

panika

Новичок
Ошибка где-то здесь. Даже не знаю где мне тут die поставить.

PHP:
		$regexp = "#\\[level([^\]\[]*?)\\]((?:[^[]|(?R))+)\\[/level\\]#";
		if( is_array( $source ) ){
			$more = $source[1];
			$source = $source[2];
			preg_match("/<([0-9]+)/i", $more, $under);
			$AOpenForU = isset( $under[1] )? intval( $under[1] ) : false;
			preg_match("/>([0-9]+)/i", $more, $larger);
			$AOpenForL = isset( $larger[1] )? intval( $larger[1] ) : false;
			if( ( !$AOpenForL || $AOpenForL > $this->userinfo['level'] ) && ( !$AOpenForU || $AOpenForU < $this->userinfo['level'] ) ){
				preg_match( "#\[\/level([^\[\]]*?)\]#i", $source, $output );
				if( count( $output ) > 0 ) return preg_replace_callback( $regexp, "self::level_blocks", $source );
				return $source;
			}else return '';
			return false;
		}else return preg_replace_callback( $regexp, "self::level_blocks", $source );
 

panika

Новичок
Вот нашел что ушатало серверу, вот это:

PHP:
preg_replace_callback( "#\\[level([^\]\[]*?)\\]((?:[^[]|(?R))+)\\[/level\\]#", "self::level_blocks", $source );
 

panika

Новичок
каким образом это регулярное выражение
Код:
#\\[level([^\]\[]*?)\\]((?:[^[]|(?R))+)\\[/level\\]#
может положить сервер?
 

dimagolov

Новичок
а ничего, что это парсинг контента? а модераторы заботливо предлагают отдебажить парсер за страдальца?
 

HraKK

Мудак
Команда форума
А это у них новая фишка такая, помочь стырить контент)
 
Сверху