Strict Standards: Non-static method ... 错误的解决办法
错误提示:
Strict Standards: Non-static method xxx() should not be called statically
原因
使用了self
的静态方式调用了方法,但方法没有定义静态static
解决办法:
修改被调用方法为公共静态方法
,即:
public static function xxx(){...}
Strict Standards: Non-static method xxx() should not be called statically
使用了self
的静态方式调用了方法,但方法没有定义静态static
修改被调用方法为公共静态方法
,即:
public static function xxx(){...}
shell_exec
、system
、passthru
、popen
等都是系统相关的合作,如果虚拟主机开放给使用者使用,或是在系统权限没设定完整的情况下,必然会造成很大的伤害;同时网站在有漏洞的情况下,也会对服务器造成很大伤害php.ini
里设定 disble_function
这个选项就能设定禁止执行的指令了。disble_function = phpinfo
disble_function = shell_exec, system, passthru, popen
disable_functions = shell_exec,system,exec,passthru,show_source,get_cfg_var
因为php原生函数file_get_contents()
无发获取https协议头的url内容(需要mod_ssl
的支持,或安装opensll
)
extension=php_openssl.dll
前面的;删掉,重启服务就可以了。openssl
模块,安装好了以后就可以访问了。 /**
* 抓取的url链接内容
* @param string $url 要抓取的url链接,可以是http,https链接
* @param int $second 设置cURL允许执行的最长秒数
* @return mixed
*/
function get_curl_contents($url, $second = 30)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_TIMEOUT,$second);//设置cURL允许执行的最长秒数
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);//当此项为true时,curl_exec($ch)返回的是内容;为false时,curl_exec($ch)返回的是true/false
//以下两项设置为FALSE时,$url可以为"https://login.yahoo.com"协议
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}