From: [EMAIL PROTECTED] Operating system: Linux 2.4.7-10 PHP version: 4.3.0RC2 PHP Bug Type: Scripting Engine problem Bug description: Functions inside declare(ticks=1) cannot be used prior to definition
My configuration (as reported by phpinfo()): ./configure --with-apxs=/opt/httpd/bin/apxs --with-mysql=/usr --with-gd --with-curl=/opt/curl-7.10.1/ --with-pdflib=/opt/pdflib/ --with-zlib --enable-inline-optimizations --enable-pcntl --enable-dio --with-ncurses --enable-sockets What I did (filename 'ticks_bug_php'): --------------- CUT HERE -------------------- #!/usr/local/bin/php <?php function predefined_out() { echo "Inside predefined_out()\n"; } predefined_out(); postdefined_out(); function postdefined_out() { echo "Inside postdefined_out()\n"; } declare(ticks = 1) { function predefined_in() { echo "Inside predefined_in()\n"; } predefined_in(); postdefined_in(); function postdefined_in() { echo "Inside postdefined_in()\n"; } } ?> --------------- CUT HERE -------------------- What I expected: [avillaci@srv64 practica]$ ./ticks_bug_php Inside predefined_out() Inside postdefined_out() Inside predefined_in() Inside postdefined_in() [avillaci@srv64 practica]$ What I got instead: [avillaci@srv64 practica]$ ./ticks_bug_php Inside predefined_out() Inside postdefined_out() Inside predefined_in() Fatal error: Call to undefined function: postdefined_in() in /home/avillaci/programa/practica/ticks_bug_php on line 25 [avillaci@srv64 practica]$ PHP refuses to call postdefined_in() before its definition inside the scope of 'declare(ticks=1){}', but has no problem calling postdefined_out() before its definition, outside the scope of 'declare(ticks=1){}'. Any hints in solving this issue will be greatly appreciated. Alex Villacis Lasso [EMAIL PROTECTED] -- Edit bug report at http://bugs.php.net/?id=20924&edit=1 -- Try a CVS snapshot: http://bugs.php.net/fix.php?id=20924&r=trysnapshot Fixed in CVS: http://bugs.php.net/fix.php?id=20924&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=20924&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=20924&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=20924&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=20924&r=support Expected behavior: http://bugs.php.net/fix.php?id=20924&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=20924&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=20924&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=20924&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=20924&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=20924&r=dst IIS Stability: http://bugs.php.net/fix.php?id=20924&r=isapi