|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2010-08-19 03:27 UTC] admin dot windows at gmail dot com
Description:
------------
I have discovered weird call_user_func behaviour while calling non existing method
of the class. Instead of throwing some type of warning it tries to call non
existing class with scrambled name.
Test script:
---------------
<?php
class experimental{}
function __autoload($class_name)
{
echo sprintf('<pre>%s</pre>',print_r(debug_backtrace(),true));
}
call_user_func(array('experimental','non_existing_method'));
?>
Expected result:
----------------
some king of warning or error
Actual result:
--------------
Array
(
[0] => Array
(
[function] => __autoload
[args] => Array
(
[0] => zybplbn6ps6m
)
)
[1] => Array
(
[file] => /www/test.php
[line] => 13
[function] => call_user_func
[args] => Array
(
[0] => Array
(
[0] => experimental
[1] => non_existing_method
)
)
)
)
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 14:00:01 2025 UTC |
Here is output of get_loaded_extensions() on my local system PHP v 5.3.2, WIN 7 64bit. Array ( [0] => Core [1] => com_dotnet [2] => ctype [3] => date [4] => ereg [5] => filter [6] => ftp [7] => hash [8] => iconv [9] => json [10] => session [11] => openssl [12] => pcre [13] => Reflection [14] => standard [15] => SPL [16] => mysqlnd [17] => zlib [18] => libxml [19] => dom [20] => PDO [21] => pdo_sqlite [22] => SimpleXML [23] => xml [24] => cgi-fcgi [25] => bcmath [26] => bz2 [27] => calendar [28] => curl [29] => exif [30] => gd [31] => gettext [32] => imap [33] => ldap [34] => mbstring [35] => mcrypt [36] => mysql [37] => mysqli [38] => pdo_mysql [39] => pdo_pgsql [40] => pgsql [41] => soap [42] => sockets [43] => tidy [44] => tokenizer [45] => xsl [46] => zip [47] => intl [48] => SQLite [49] => xmlreader [50] => xmlwriter [51] => fileinfo [52] => Phar [53] => win32service [54] => oci8 [55] => PDO_OCI [56] => xmlrpc [57] => Zend Data Cache [58] => Zend Job Queue [59] => Zend Session Clustering [60] => Zend Utils [61] => Zend Optimizer+ [62] => Zend Code Tracing [63] => Zend Monitor [64] => Zend Debugger [65] => Zend Monitor UI ) One of my hosting with version 5.2.11, Cent OS Array ( [0] => date [1] => libxml [2] => openssl [3] => pcre [4] => zlib [5] => bcmath [6] => calendar [7] => ctype [8] => curl [9] => dom [10] => hash [11] => filter [12] => ftp [13] => gd [14] => gettext [15] => gmp [16] => session [17] => iconv [18] => standard [19] => json [20] => ldap [21] => mbstring [22] => mcrypt [23] => mhash [24] => ming [25] => mysql [26] => SimpleXML [27] => pgsql [28] => posix [29] => pspell [30] => Reflection [31] => imap [32] => SPL [33] => mysqli [34] => soap [35] => SQLite [36] => exif [37] => tidy [38] => tokenizer [39] => xml [40] => xmlreader [41] => xmlrpc [42] => xmlwriter [43] => xsl [44] => zip [45] => cgi-fcgi [46] => mailparse [47] => memcache [48] => PDO [49] => pdo_mysql [50] => pdo_pgsql [51] => pdo_sqlite [52] => uploadprogress [53] => ionCube Loader [54] => Zend Optimizer ) As you can see this behaviour was reproduced on 5.2.11, 5.2.13, 5.3.2 versions of php For reference you can see this event live here: http://ajaxtech.webfactional.com/test.php