Server IP : 127.0.0.2 / Your IP : 18.217.93.250 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/vendor/symfony/debug/Resources/ext/ |
Upload File : |
Symfony Debug Extension for PHP 5 ================================= This extension publishes several functions to help building powerful debugging tools. It is compatible with PHP 5.3, 5.4, 5.5 and 5.6; with ZTS and non-ZTS modes. It is not required thus not provided for PHP 7. symfony_zval_info() ------------------- - exposes zval_hash/refcounts, allowing e.g. efficient exploration of arbitrary structures in PHP, - does work with references, preventing memory copying. Its behavior is about the same as: ```php <?php function symfony_zval_info($key, $array, $options = 0) { // $options is currently not used, but could be in future version. if (!array_key_exists($key, $array)) { return null; } $info = array( 'type' => gettype($array[$key]), 'zval_hash' => /* hashed memory address of $array[$key] */, 'zval_refcount' => /* internal zval refcount of $array[$key] */, 'zval_isref' => /* is_ref status of $array[$key] */, ); switch ($info['type']) { case 'object': $info += array( 'object_class' => get_class($array[$key]), 'object_refcount' => /* internal object refcount of $array[$key] */, 'object_hash' => spl_object_hash($array[$key]), 'object_handle' => /* internal object handle $array[$key] */, ); break; case 'resource': $info += array( 'resource_handle' => (int) $array[$key], 'resource_type' => get_resource_type($array[$key]), 'resource_refcount' => /* internal resource refcount of $array[$key] */, ); break; case 'array': $info += array( 'array_count' => count($array[$key]), ); break; case 'string': $info += array( 'strlen' => strlen($array[$key]), ); break; } return $info; } ``` symfony_debug_backtrace() ------------------------- This function works like debug_backtrace(), except that it can fetch the full backtrace in case of fatal errors: ```php function foo() { fatal(); } function bar() { foo(); } function sd() { var_dump(symfony_debug_backtrace()); } register_shutdown_function('sd'); bar(); /* Will output Fatal error: Call to undefined function fatal() in foo.php on line 42 array(3) { [0]=> array(2) { ["function"]=> string(2) "sd" ["args"]=> array(0) { } } [1]=> array(4) { ["file"]=> string(7) "foo.php" ["line"]=> int(1) ["function"]=> string(3) "foo" ["args"]=> array(0) { } } [2]=> array(4) { ["file"]=> string(102) "foo.php" ["line"]=> int(2) ["function"]=> string(3) "bar" ["args"]=> array(0) { } } } */ ``` Usage ----- To enable the extension from source, run: ``` phpize ./configure make sudo make install ```