zl程序教程

您现在的位置是:首页 >  后端

当前栏目

php之框架增加日志记录功能类

PHP日志框架 功能 记录 增加
2023-09-14 09:00:26 时间
$log = self::isBak(); //计算文件的地址,判断大小 $fh = fopen($log,ab); //打开,追加模式 fwrite($fh,$cont); fclose($fh); //备份日志 public static function bak(){ //给出写入文件的路径,把原来的日志 //改为年月日 .bak 的形式 $log = ROOT .data/log/. self::LOGFILE; $bak = ROOT .data/log/.date(Ymd) .mt_rand(10000,99999). .bak; return rename($log,$bak); //判断日志是否大于1M public static function isBak(){ //判断文件是否存在 $log = ROOT .data/log/. self::LOGFILE; if(!file_exists($log)){ //如果不存在,则创建该文件 touch($log); // touch在linux也有此命令,是快速的建立一个文件 return $log; //判断大小 clearstatcache(true,$log); //清除缓存,则创建.bak文件 $size = filesize($log); if($size = 1024*1024){ //如果 =1M 则写入 return $log; //到这一行,说明大于1M if(!self::bak()){ return $log; } else { touch($log); return $log; ?

极端法测试调用,循环执行10000次

//另起页面

//引入日志功能类

 class mysql{

 public function query($sql){

 Log::write($sql);

$mysql= new mysql();

for($i=0;$i 10000;$i++){

 $sql=select goods_id,goods_name,shop_price from goodsselect goods_id,goods_name,shop_price from goodsselect goods_id,goods_name,shop_price from goodsselect goods_id,goods_name,shop_price from goodsselect goods_id,goods_name,shop_price from goodsselect goods_id,goods_name,shop_price from goods where goods_id=.rand(10000,99999);

 $mysql- query($sql);

Log::write(记录);

echo "执行完毕";



 


框架外的PHP读取.env文件(php5.6、7.3可用版) 背景:由于项目需要,在框架外(public文件夹下)新建了一个原生的php文件,由于不知道怎么解决。只需要在宝塔上的php相应的版本上把禁用函数去除即可。其他的参数自己根据代码获取,代码简单,自己读吧。“框架外的php文件,怎么使用DB操作”(我的环境 nginx php7,3)于是上网搜索了一早上也没能又方法。于是我使用了,原生连接方法。index.php文件。这里如果出现这样的问题。............
PHP+Laravel框架RabbitMQ简单使用(路由模式) 一、简介 路由模式跟发布订阅模式类似,然后在订阅模式的基础上加上了类型,订阅模式是分发到所有绑定到交换机的队列,路由模式只分发到绑定在交换机上面指定路由键的队列
PHP+Laravel框架RabbitMQ简单使用(Pub/Sub模式) 一、简介 publish-and- subscribe, 即发布订阅模型。在Pub/Sub模型中,生产者将消息发布到一个主题(Topic)中,订阅了该Topic的所有下游消费者,都可以接收到这条消息。 每个消息可以有多个订阅者; 客户端只有订阅后才能接收到消息; 持久订阅和非持久订阅。 发布者和订阅者有时间依赖:接受者和发布者只有建立订阅关系才能收到消息; 持久订阅:订阅关系建立后,消息就不会消失,不管订阅者是否都在线; 非持久订阅:订阅者为了接受消息,必须一直在线。 当只有一个订阅者时约等于点对点模式
PHP+Laravel框架RabbitMQ简单使用(工作队列模式(竞争消费者模式)) 工作模式:一个消息生产者,一个交换器,一个消息队列,多个消费者。同样也称为点对点模式 假如我们拥有两个消费者,默认情况下,RabbitMQ 将按顺序将每条消息发送给下一个消费者,平均而言,每个消费者将获得相同数量的消息,这种分发消息的方式称为轮询。 假如有一些非常耗时的任务,某个消费者在缓慢地进行处理,而另一个消费者则空闲,显然是非常消耗资源的。