????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 3.21.126.72
Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f
System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29
Disable Function : 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,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/self/root/home/b8009/php-5.6.22/ext/opcache/tests/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/home/b8009/php-5.6.22/ext/opcache/tests/optimize_func_calls.phpt
--TEST--
Test with optimization of function calls
--INI--
opcache.enable=1
opcache.enable_cli=1
opcache.optimization_level=-1
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php

class A {
	public $obj;
	public function test($a) {
	}
}

function a(&$b) {
	$b = "changed";
	return "done";
}

$a = "a";
$b = "b";
$c = "c";
$f = "a";

/*
 * INIT_FCALL_BY_NAME
 * SEND_VAR
 * DO_FCALL
 * DO_FCALL_BY_NAME
 */
foo(a($a));
var_dump($a);
$a = "a";

/*
 * INIT_FCALL_BY_NAME
 *   INIT_FCALL_BY_NAME -- un-optimizable
 *   DO_FCALL_BY_NAME   -- un-optimizable
 * DO_FCALL_BY_NAME
 */
foo($f($a));
var_dump($a);

/*
 * INIT_FCALL_BY_NAME
 *   ZEND_NEW
 *   DO_FCALL_BY_NAME
 * DO_FCALL_BY_NAME
 */
foo(new A());

/*
 * INIT_FCALL_BY_NAME
 * FETCH_OBJ_FUNC_ARG
 * ZEND_SEND_VAR
 * DO_FCALL_BY_NAME
 */
foo((new A)->obj);
$obj = new A;
ref($obj->obj);
var_dump($obj->obj);

ref(retarray()[0]);

$a = "a";
foo(a($a), $a, ref($b, $c), $obj);
var_dump($a);
var_dump($b);

/*
 * INIT_FCALL_BY_NAME
 * SEND_VAL
 * DO_FCALL_BY_NAME
 */
ref("xxx");

function retarray() {
	return array("retarray");
}

function foo($a) {
	print_r(func_get_args());
}

function ref(&$b) {
	$b = "changed";
	return "ref";
}
--EXPECTF--
Array
(
    [0] => done
)
string(7) "changed"
Array
(
    [0] => done
)
string(7) "changed"
Array
(
    [0] => A Object
        (
            [obj] => 
        )

)
Array
(
    [0] => 
)
string(7) "changed"
Array
(
    [0] => done
    [1] => changed
    [2] => ref
    [3] => A Object
        (
            [obj] => changed
        )

)
string(7) "changed"
string(7) "changed"

Fatal error: Cannot pass parameter 1 by reference in %soptimize_func_calls.php on line %d

Youez - 2016 - github.com/yon3zu
LinuXploit