如果php运行超时怎么返回超时错误给前端?
返回前端只适用于是使用AJAX进行加载的。var res = $.ajax({ url:'xxxxxx/index.php', timeout : 1000, //超时时间设置,单位毫秒 complete : function(xhr,status){ if(status=='timeout'){ // 超时处理 } }});
MySQL连接超时自动断开连接应该怎样处理?
用Fsocket获取数据时能够控制超时的。如果用File_get_contents($url);可以临时设定环境变量:设定默认socket超时时间ini_set("default_socket_timeout",3);养成好习惯,使用fsocket获取数据。
如果使用Curl,也可以在Curl中控制超时时间:curl_setopt($ch,CURLOPT_TIMEOUT,15)
;PHP中mysql函数是不提供类似mysql超时选项的,但是php.ini的mysql.connect_timeout可设置;Maximumtime(inseconds)forconnecttimeout.-1meansnolimitmysql.connect_timeout=60也可以在php脚本中调用设置ini_set();
PHP如何解决刷新页面表单重复提交?
最常用的方法就是利用token。即:
1、在生成页面的时候生成一个token(随机字符串),并把它同时写入表单的某个hidden中,和服务端的session中。
2、客户端提交表单到服务器时,比对表单中的token与session中的token是否一致。若不一致则认为是无效的请求。
3、不管第2步的校验是否通过,token只要使用一次后就立即作废(即:从session中销毁)。同时token也可以关联时间信息,超时后也自动作废。这样,即便客户端重复提交,也只有第一次的请求能够成功。
php怎么定时执行任务啊?
PHP可能不行吧。PHP是解释型的语言,打开页面的时候就顺序执行代码,即使加上循环,也不会一直执行,因为有超时时间。一直循环就是死循环了。如果想定时执行任务,可以在另一个页面用JS写一段定时器代码,按时用ajax异步执行另一个页面的PHP代码。我现在的水平就只能想到这个方法,如果有高手可以指点一下其他方法。
还没有评论,来说两句吧...