2

运行以下代码时:

<?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.

请帮忙。

4

2 回答 2

1

您需要从&$output确实删除参考运算符。

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

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

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

于 2012-06-11T12:09:51.373 回答
0

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

...
exec("ping google.com", $output);
...
于 2012-06-11T11:57:41.223 回答