Запуск из консоли - ошибка: переопределение функции

mev

Новичок
Запуск из консоли - ошибка: переопределение функции

Добрый день. Столкнулся с проблемой.
Есть скрипт. В нем код:
1 <?php
2 set_time_limit(0);
3 define(HOST2, 'localhost');
4 define(USER2, 'admin');
5 define(DBNAME2, 'temp_free');
6 define(PASS2, 'pass');
7
8 function EncodeDate($old_date){
9 $result=512*date("Y", $old_date)+32*date('n', $old_date)+date("j", $old_date);
10 return $result;}
11 function DecodeDate($num_date){
12 $ostatok=$num_date;
13 $year=floor($ostatok/512);
14 $ostatok=$ostatok-$year*512;
15 $mounth=floor($ostatok/32);
16 $day=$ostatok-$mounth*32;
17 return mktime(0,0,0, $mounth, $day, $year);}

При запуске из консоли (php.exe -F script.php) выдает следующую ошибку:

Fatal error: Cannot redeclare encodedate() (previously declared in C:\php\free_scan.php:8) in C:\php\free_scan.php on line 10

Мол будто я пытаюсь определить функцию в той строке где стоит "}" - бред какой-то. Если закомментить EncodeDate, то ругаться начинает на следующую функцию также говоря что была попытка переопределения функции в строке с закрывающей скобкой...
При запуске из браузера скрипт срабатывает нормально без ошибок.
Кто сталкивался с этим? Как вылечиться?
 

WP

^_^
> Как вылечиться?
Хм... трамальчику попить например, и перестать курить эту дрянь)

Ошибка не воспроизводится, естественно.
 

hermit_refined

Отшельник
откройте для себя [m]require_once[/m]/[m]include_once[/m].
+ E_ALL и документацию по [m]define[/m]
 

mev

Новичок
пусть будет php.exe -F free_scan.php
Заменил в посте название для легкости понимания.
Но ошибка-то есть.
Весь скрипт находится в одном файле. require_once не нужен.
 

WP

^_^
hermit_refined
Я думаю 'script'ом он назвал файл условно, чтобы показать нам способ запуска, и думаю что он привел не весь скрипт. Т.к. о том что писать закрывающий тег необязательно (более того - не желательно) думаю он не догадывается.
 

hermit_refined

Отшельник
mev
т.е. вы утверждаете, что у вас нет ни одного инклюда?

WP
значит, остается предполагать, что он инклюдит рекурсивно :)
я не склонен приплетать мистику в таких вопросах.

но моя первая версия оказалась несколько ошибочной, да.
я ж говорю - телепатия у меня на четверочку ;-)
 

WP

^_^
mev
Выложи весь скрипт, но не в тему т.к. это в нарушение правил. Так чтобы я запустил и у меня была бы такая же ошибка.
 

mev

Новичок
Автор оригинала: WP
mev
Выложи весь скрипт, но не в тему т.к. это в нарушение правил. Так чтобы я запустил и у меня была бы такая же ошибка.
Блин, не получится, скрипт с базой работает.....
 

hermit_refined

Отшельник
Аааа, какой позор! ;-)
никогда не пытался юзать опцию -F.
а это очень хитрая опция...
интересно, что автора заставило.
я так не играю :))))

но про [m]define[/m] все равно стоит почитать.
 

mev

Новичок
print_r(debug_backtrace()) возвращает
Array
(
)

А что в дефайне сложного? Третий параметр не использую потому как имена констант пользую ЗАГЛАВНЫЕ.....

С кодом продолжаю бороться..
 

hermit_refined

Отшельник
А что в дефайне сложного?
нужно понять, что это функция, а не мистическая конструкция.
и первый параметр - string, а не будущая константа.
вы получили бы notice, если бы использовали E_ALL.
С кодом продолжаю бороться..
код не виноват.
лучше скажите, где вы -F отыскали.
 

mev

Новичок
Автор оригинала: hermit_refined
нужно понять, что это функция, а не мистическая конструкция.
и первый параметр - string, а не будущая константа.
вы получили бы notice, если бы использовали E_ALL.код не виноват.
лучше скажите, где вы -F отыскали.
в хелпе (php -h)
 
Сверху