PHP script - PHP Notice

kozicin

Есть интернет-магазин. Внутри сайта крутится один из скриптов и засирает логи подобного рода сообщения

[24-Jul-2013 10:28:45] PHP Notice: Undefined index: /categ100000000_103000000_103010000.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[24-Jul-2013 10:28:45] PHP Notice: Undefined index: /categ100000000_103000000_103020000.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[24-Jul-2013 10:28:45] PHP Notice: Undefined index: /categ100000000_103000000_103030000.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[24-Jul-2013 10:28:45] PHP Notice: Undefined index: /categ100000000_103000000_103040000.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[24-Jul-2013 10:28:45] PHP Notice: Undefined index: /categ100000000_103000000_103050000.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[24-Jul-2013 10:28:45] PHP Notice: Undefined index: /categ100000000_103000000_103070000.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[24-Jul-2013 10:28:45] PHP Notice: Undefined index: /categ100000000_103000000_103080000.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[24-Jul-2013 10:28:45] PHP Notice: Undefined index: /categ100000000_103000000_103090000.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838

затык происходит вот в этой строке
$aURLRewriter = array_merge($aURLRewriter, $aURLRewriterOnly);   

к сожалению, люди которые писали скрипт, уже не могут что-то поменять
"Засирает" логи, я имею ввиду, что файл растет мегабайт по 300 в день, так что можно понять масштаб трагедии
Вопрос
важные ли это сообщения и влияют ли на работу скрипта или это просто ворнинги и их можно задавить чем-нить типа:
error_reporting (E_ALL ^ E_NOTICE);  

или это какая-то важная хрень и надо нанимать человека, чтобы перелопатить весь скрипт и отладить его правильно?

Maurog

это какая-то важная хрень
какая-то хня
гугл подсказывает
http://otvety.google.ru/otvety/thread?tid=670d639b45e4fc86
зы. в пхп не рублю :grin:

VitMix

/home/m/maminakro/public_html/d-url-rewriter.php on line 838
А имя файла и номер строчки во всех подобных сообщениях одинаковый? То есть это всегда "/home/m/maminakro/public_html/d-url-rewriter.php on line 838"? Если да, то, возможно, надо перелопатить всего одну строчку, а не весь скрипт.

marat7256

Может с этим связано:
Поведение функции array_merge было изменено в PHP 5. В отличие от PHP 4, array_merge принимает параметры только типа array. Однако вы можете использовать приведение типов. Смотрите следующий пример для уточнения подробностей.
<?php
$beginning = 'foo';
$end = array(1 => 'bar');
$result = array_mergearray)$beginning, (array)$end);
print_r($result);
?>

http://php.net/manual/ru/function.array-merge.php

kozicin

а PHP5 или PHP4 это уже связано с сервером, да? потому что как раз раньше все было нормалбно и недели 3 назад такая херь началась. может хостинг перешел на PHP5?

marat7256

а PHP5 или PHP4 это уже связано с сервером, да?
Да.

kozicin

не помогло приведение типов :(

hwh2010

d-url-rewriter.php
запости его уже сюда
а то может ты (или пхп) на строчку вверх или вниз обсчитались

marat7256

$aURLRewriter = $_SERVER['dur'][0];
...
$aURLRewriterOnly = array($_SERVER['dur'][2]);
unset($_SERVER['dur']);
}
$aURLRewriter = array_mergearray)$aURLRewriter, (array)$aURLRewriterOnly);
А если первую строчку сделать аналогично третьей? И убрать преобразования типа в мердже?

kozicin

преобразования типов в мёрдже это уже я добавил, их там не было
...
ща попробую ...

kozicin

не
тоже самое
и с преобразованием типов и без
 
[25-Jul-2013 11:59:40] PHP Notice:  Undefined index:  /good1104010104.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 11:59:40] PHP Notice: Undefined index: /good708000032.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 11:59:40] PHP Notice: Undefined index: /good311000007.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 11:59:40] PHP Notice: Undefined index: /good703010008.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 11:59:40] PHP Notice: Undefined index: /good609070003.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 11:59:40] PHP Notice: Undefined index: /good1203050001.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 11:59:40] PHP Notice: Undefined index: /good1406010003.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 11:59:40] PHP Notice: Undefined index: /good810040003.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 11:59:40] PHP Notice: Undefined index: /good904010029.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 11:59:40] PHP Notice: Undefined index: /osnov.php?idraz=120 in /home/m/maminakro/public_html/d-url-rewriter.php on line 838

marat7256

У меня 838 строка совсем не там, а тут
else return $href[0];
}
     $sContent = str_replace('#','"#placeholder#',$sContent); <------
     $sContent = preg_replace_callback('#href="http://'.DUR_FIX_HTTP_HOST.'([^"]*)"#siU','durMainCycleCallback',$sContent);
А тот самый мердж на 773 строке.

marat7256

Может вот тут проблема:
if ($aURLRewriter[$href[1]]) return 'href="http://'.DUR_FIX_HTTP_HOST.$aURLRewriter[$href[1]].'"';
Если индекса такого нет, то будет предупреждение, и стоит написать !== undefined.

kozicin

че подправить в итоге?

marat7256

Трудно сказать, учитывая, что остается не понятным в какой строке проблема.

marat7256

if ($aURLRewriter[$href[1]] !== undefined) return href="http://'.DUR_FIX_HTTP_HOST.$aURLRewriter[$href[1]].'"';
Мне кажется, так будет вернее.

bav46

Есть интернет-магазин. Внутри сайта крутится один из скриптов и засирает логи подобного рода сообщения
вот чем занимаются трейдеры из реника :grin:

kozicin

хер там
зато появились новые строчик )
[25-Jul-2013 18:01:49] PHP Notice:  Use of undefined constant undefined - assumed 'undefined' in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 18:01:49] PHP Notice: Undefined index: /proz2778.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 18:01:49] PHP Notice: Use of undefined constant undefined - assumed 'undefined' in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 18:01:49] PHP Notice: Undefined index: /proz128.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 18:01:49] PHP Notice: Use of undefined constant undefined - assumed 'undefined' in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 18:01:49] PHP Notice: Undefined index: /proz128.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 18:01:49] PHP Notice: Undefined index: /proz164.html in /home/m/maminakro/public_html/d-url-rewriter.php on line 838
[25-Jul-2013 18:01:49] PHP Notice: Use of undefined constant undefined - assumed 'undefined' in /home/m/maminakro/public_html/d-url-rewriter.php on line 838

bav46

потому что так песать нельзя в пхп
$aURLRewriter[$href[1]] !== undefined
меняй на
isset($href[1]) && isset($aURLRewriter[$href[1]])
если в href точно всегда >=2 элемента выкидывай первую проверку

apl13

undefined constant is so undefined

marat7256

потому что так песать нельзя в пхп
Точно!
С js попутал. Старый совсем стал :grin:

kozicin

вроде заработало %)
спасибо
Оставить комментарий
Имя или ник:
Комментарий: