不推荐使用:调用 exec() 函数时,已弃用调用时按引用传递


Getting Deprecated: Call-time pass-by-reference has been deprecated when calling exec() Function

运行时:

<?php
    $output = array();
    exec("ping google.com", &$output);
    foreach ($output as $key => $value) {
        echo $value . "<br/>";
    }
?>

弃用:如下所示

 Call-time pass-by-reference has been deprecated in C:'xampp'htdocs'my_test'ajax_loop.php on line 3.

请帮忙。

您确实需要从&$output中删除引用运算符。

很少有教程提供如下函数语法(在本例中为 exec)。

string exec ( string $command [, array &$output [, int &$return_var ]] ) .

"&"不是引用运算符,它仅指示它们是输出变量,这意味着您可以期望这些变量的值在函数调用后填充输出数据。在这种情况下,在函数调用之后$output数组将填充您尝试执行的 commnad 的所有输出行。$return_var将具有返回状态。

只需删除引用运算符,就不需要:

...
exec("ping google.com", $output);
...