Server IP : 104.21.38.3 / Your IP : 162.158.162.23 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,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,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/server/php/82/src/ext/phar/ |
Upload File : |
define ___pharglobals if basic_functions_module.zts set $tsrm_ls = ts_resource_ex(0, 0) set $pharglobals = ((zend_phar_globals) (*((void ***) $tsrm_ls))[phar_globals_id-1]) else set $pharglobals = phar_globals end end define ____print_pharht set $ht = $arg0 set $p = $ht.pListHead while $p != 0 set $i = $ind while $i > 0 printf " " set $i = $i - 1 end set $temp = *(phar_archive_data*)$p->pDataPtr ____print_str $temp.fname $temp.fname_len printf " => " if $arg1 == 0 printf "%i (alias ", $temp.refcount ____print_str $temp.alias $temp.alias_len printf ")\n" end set $p = $p->pListNext end end define print_phar set $ind = 1 ___pharglobals printf "{" ____print_pharht $pharglobals.phar_fname_map 0 printf "}\n" end document display_phar_globals display phar globals end define display_phar_globals ___pharglobals graph display $phar_globals.$arg0 end define print_pharfp ___pharglobals set $ht = $pharglobals.phar_fname_map set $p = $ht.pListHead set $fpcount = 0 while $p != 0 set $pharname = (*(phar_archive_data*)$p->pDataPtr).fname set $pharrefcount = (*(phar_archive_data*)$p->pDataPtr).refcount if (*(phar_archive_data*)$p->pDataPtr).fp != 0 set $fpcount = $fpcount + 1 printf "phar %s is open (%i)\n", $pharname, $pharrefcount end set $manifest = (*(phar_archive_data*)$p->pDataPtr).manifest set $m = $manifest.pListHead while $m != 0 if (*(phar_entry_info *)$m->pData).fp set $fpcount = $fpcount + 1 set $a = (*(phar_entry_info *)$m->pData).fp_refcount printf "phar %s file %s is open (%i)\n", $pharname, (*(phar_entry_info *)$m->pData).filename, $a end set $m = $m->pListNext end set $p = $p->pListNext end printf "Open file pointers: %d\n", $fpcount end document print_pharfp displays all open file pointers in phar, and the phars plus entries that are open with reference counts end define dump_entry ___pharglobals set $ht = $pharglobals.phar_fname_map set $p = $ht.pListHead set $done = 0 while $p != 0 set $t = (*(phar_archive_data*)$p->pDataPtr) if $t.fname[0] == $arg0[0] || $t.alias[0] == $arg0[0] set $manifest = (*(phar_archive_data*)$p->pDataPtr).manifest set $m = $manifest.pListHead while $m != 0 if (*(phar_entry_info *)$m->pData).filename[0] == $arg1[0] if $argc == 3 output *((phar_entry_info *)$m->pData)->fp end if $argc == 2 output *(phar_entry_info *)$m->pData end printf "\n" set $done = 1 loop_break end set $m = $m->pListNext end end if $done == 1 loop_break end set $p = $p->pListNext end end document dump_entry dump_entry "pharname"|"pharalias" "filename" [1] display phar_entry_info for a file within a phar. If the optional third param is passed in, displays the php_stream that is the file's fp end