一个PHP程序,同一时刻被请求多次,怎么让它只运行一次?

转载 2016年05月24日 11:47:35
问题:   
一个PHP程序,访问运行后会发邮件。
另外有一个监控程序会每隔15分钟自动去监控访问一次,但这监控程序是每次同时产生四次访问,所以每次就会同时收到4封邮件。
我想四次访问只运行一次就行了,但监控程序动不了必须是同时四次,所以只能修改PHP程序。
这四次访问是几乎同时产生的,试过让程序写在数据库里去判断第一次访问有效,都没用,不知道还有什么办法?



答案:

 

session加sleep(随机变量)可以解决.不过可能是走弯路了.只给你一个思想 
<?php

session_start
给定一个随机数,具体范围自己定
sleep(随机数)//不宜过大
if(!$_SESSION[ ])
写session
else
return就好了

php原子性操作测试,有效防止多进程对同一段代码的重复执行

测试目的: 现在有一个需求,目的是为每次操作生成一个唯一ID,而且这个ID是连续性的,在上次ID上自增。 在不借助MYSQL的自增字段类型的情况下,需要用PHP写了如下代码: $sql="sele...
  • qzmrock
  • qzmrock
  • 2014年03月17日 10:17
  • 3306

某个php页面在同一时间只能由一个用户执行,其它用户排队,有办法吗? - PHP进阶讨论

可以用session_set_save_handler(open,close,read,write,destory,gc)解决:先通过一个变量标志此页面是否有用户在执行,当用户请求这个页面的时间,就打...
  • will5451
  • will5451
  • 2016年05月24日 11:31
  • 1149

php请求超过30秒解决方法

前几天帮公司做的一个产品介绍网页,获取了每个阅读人的IP地址,现在想把IP地址所对应的地址也补上,所以想在写个方法,把数据库里地址字段为null的数据全选出来,然后用百度API根据IP获取地址,再保存...
  • bestcjt
  • bestcjt
  • 2015年09月08日 23:59
  • 576

PHP CURL 在WHILE FOR 循环体中只执行一次

被这问题坑的不行。最后通过在使用变量前unset解决。使用curl multi似乎也能解决该问题,未测试。unset($url); unset($todata); $url = "https://qy...
  • qq_16234613
  • qq_16234613
  • 2017年03月09日 18:29
  • 472

php中curl同时发送多个请求curl_multi函数集的用法

一、引言这段时间比较忙,已经很久没有写博客了。今天我就来聊聊我关于curl_multi_*函数集的使用心得,关于http请求的问题。当我们用户php发起一个http请求的时候。我们会首先想到用什么?没...
  • xueling022
  • xueling022
  • 2016年07月14日 11:49
  • 6006

php实现一天多次登录,只积分一次功能

在网上找了很多的案例,感觉都差不多,有的还比较的繁琐,就自己尝试了一下,如何实现这个功能 实现这个功能我在数据表里面增加了一个字段logintime,表示最后一次的登录时间,然后使用一天中的零时零分...
  • hpu_yly_bj
  • hpu_yly_bj
  • 2017年06月22日 22:15
  • 520

PHP一次请求生命周期

原文:http://www.nowamagic.net/librarys/veda/detail/1287 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的。PHP...
  • u010533511
  • u010533511
  • 2016年08月01日 13:41
  • 1065

php防止模拟请求

1.一些网站是采用检测此IP地址登录的密集度,多次登录后需要输入验证码,那么这时CURL模拟的提交就需要去对验证码图片进行分析,这样就会花费大量时间,当然,这种是对于防止登录被爆破,用户资料泄露的。 ...
  • zls986992484
  • zls986992484
  • 2016年10月30日 21:26
  • 1099

mysql锁(行锁,表锁)同一用户同一秒操作保持唯一性

今天mysql群里一群友询问,同一用户同一秒只可以有一行数据insert入库,否则是update。表面上看起来很简单,用个判断语句就行了,先查询表是否已经存在,但其实不然。 原文: 【冒泡】小宝他...
  • lumengabc
  • lumengabc
  • 2014年04月03日 15:38
  • 1828

一个PHP程序,同一时刻被请求多次,怎么让它只运行一次?

问题:    一个PHP程序,访问运行后会发邮件。 另外有一个监控程序会每隔15分钟自动去监控访问一次,但这监控程序是每次同时产生四次访问,所以每次就会同时收到4封邮件。 我想四次访问只运行一次就行...
  • will5451
  • will5451
  • 2016年05月24日 11:47
  • 3713
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个PHP程序,同一时刻被请求多次,怎么让它只运行一次?
举报原因:
原因补充:

(最多只允许输入30个字)