ret"/> ret">

Call-time pass-by-reference has been deprecated 有关问题

WBOY
发布: 2016-06-13 10:13:02
原创
991 人浏览过

Call-time pass-by-reference has been deprecated 问题
这是一个获取本地IP的函数

源码如下:

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public function winip( )    {        @$this->execcmd( "ipconfig /all", &$this->return_array );        if ( $this->return_array )        {            return $this->return_array;        }        $cmdir= $_SERVER['WINDIR']."\\system32\\ipconfig.exe";        if ( file_exists( $cmdir) )        {            @$this->execcmd??( $_ocmdir ." /all", &$this->return_array );        }        else        {            @$this->execcmd??( $_SERVER['WINDIR']."\\system\\ipconfig.exe /all", &$this->return_array );        }        return $this->return_array;    }    public function linuxip( )    {        @$this->execcmd ( "ifconfig -a", &$this->return_array );        return $this->return_array;    }                     public function execcmd ( $a , $b)         {           $b=shell_exec($a);         }}
登录后复制


执行后提示标题错误,请高手帮忙~

------解决方案--------------------
execcmd 后面有 ?? 是怎么回事?


------解决方案--------------------
http://yourin.blogbus.com/logs/43604755.html
------解决方案--------------------
又被无视了,算……
------解决方案--------------------
@$this->execcmd和左括号之间有unicode字符,难道你的编辑器没显示这个?
------解决方案--------------------
public function execcmd ( $a , $b)
{
$b=shell_exec($a);
}

在类内这样写会不会有问题?

你的出错信息主要是说引用传递被抛弃
会不会是这个? &$this->return_array
------解决方案--------------------
呵呵, 

这句说的是不推荐对函数调用的参数使用"引用", 这个是php5(或5.3)后新引进的错误信息,因为php5开始对象都是用引用操作的. 

这只是一个警告信息,所以程序运行不应该被影响. 你可以屏蔽错误信息,或将allow_call_time_pass_reference 设为true

如果你的朋友没报该信息,只是他的版本问题或设置或他屏蔽了错误信息.

如果你的运行有其它问题,应该与此无关.

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板