进入官网 Dcat Admin - Php后台开发框架 这里要选择1.x 下面来安装框架 安装完laravel之后,需要修改.env文件,设置数据库链接设置正确 安装 dcat-admin composer require dcat/laravel-admin 然后运行下面的命令来发布资源: php artisan admin:publish 然后运行下面的命令完成安装: php artisan admin:install 这里需要注意的是 {tip} 执行这一步命令…
进入官网 Dcat Admin - Php后台开发框架 这里要选择1.x 下面来安装框架 安装完laravel之后,需要修改.env文件,设置数据库链接设置正确 安装 dcat-admin composer require dcat/laravel-admin 然后运行下面的命令来发布资源: php artisan admin:publish 然后运行下面的命令完成安装: php artisan admin:install 这里需要注意的是 {tip} 执行这一步命令…
简介: 建造者模式,又称之为生成器模式,属于创建型的设计模式。将一个复杂对象的构建,与它的表示分离,使得同样的构建过程可以创建不同的表示。 适用场景: 用于创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的(这就表名可以抽离),但对象的外在面临着复杂的变化。 优点: 创建和表象分离 缺点: 如果核心类内部发生变化,建造者也要相应修改 与工厂模式: 比工厂模式多了一道自行处理的工序 代码: abstract class TestPaper { abstract public function BuildPa…
基于PHP spl 遍历文件删除过期的日志文件 一.定义PHP类 , 限制文件扩展 RecursiveFileFilterIterator.class.php <?php class RecursiveFileFilterIterator extends FilterIterator { protected $ext = array('log','jpg','gif'); public function __construct($path) { paren…
各位技术大佬,大家好,我是练习时长两年半的代码练习生,Max,喜欢技术,后端和架构。 问题介绍 项目配置了多个域名,如下,php 代码中有获取 $_SERVER['SERVER_NAME'] 的值。 server { server_name a.demo.com b.demo.com; ... } 当访问 a.demo.com 时,其获取的值是符合预期的。但是当访问 b.demo.com 时,其获取的值还是 a.demo.com,导致代码中的判断出现错误。 问题分析 当 nginx 的一个 se…
缓存击穿是指缓存中没有的数据,而查询非常频繁的数据,导致大量的请求落到了数据库上,因此很容易导致数据库连接数暴增,甚至导致宕机。 下面是 PHP 解决缓存击穿问题的一般解决方案: // 获取 Key $key = 'my_key'; // 根据 Key 从 Redis 中获取数据 $data = $redis->get($key); // 如果数据不存在,尝试从DB中获取数据 if (!$data) { // 尝试获取缓存锁 $lockKey = 'my_redis_lock…
1,消息队列解决方案: RabbitMQ:RabbitMQ 是一个开源的 AMQP 消息中间件,提供了高可用、高并发、高吞吐量的消息队列服务。使用 PHP 语言可以通过 AMQP 扩展连接到 RabbitMQ 服务,实现消息的生产、消费和处理。 Redis 队列:Redis 是一个开源的内存数据库,提供了高速、高性能的数据结构服务,如字符串、列表、集合、哈希表等。通过使用 Redis 的 List 类型实现队列,可以实现消息的生产、消费和处理。 Kafka:Kafka 是一个开源的分布式消息系统,具有高吞吐量、低延…
一、安装PHP 下载:https://windows.php.net/download 我下载的是此时的最新版8.2.3 下载后 解压目录 放到C:/tool下面目录重命名为PHP 目录自己定 我这个tool目录是个人习惯 你可以放到主流的C:\Program Files下也可以放到D盘E盘任何地方都可以 里面的php.ini-development 重命名为php.ini 打开php.ini编辑 找到 ;extension_dir = “ext” 打开注释改为 extension_dir = &…
0x001 自定义参数 $extra_param = "Some extra param"; Hook::add('response_end', function($params) use ($extra_param) { Log::info('Extra: '.$extra_param); }); 本文来自博客园,作者:小枫同学,未经作者许可,禁止转载、复制、重新发布完整或者部分文字、代码、图片等信息,否则将保留追究法律责任的权利。查阅文章的同学,由于网…
最近在考虑用php的成品源码去搭建一个个人博客网页,于是就想着先在本地运行好后,然后再使用服务器来搭建php的环境和网页。 1.运行工具 因为本地基本只是考虑练习,不考虑真正的去搭建php环境,所以就想到了一个很实用的php小工具,用于测试可以说是一个很不错的选择:phpStudy_pro,一个免费且好用的小集成环境吧(应该是)。 总结:phpStudy_pro 2.编写工具 运行的环境既然已经确定了,编写的工具倒是不是很好选,很多,但是心仪的工具确实是没有的,因为还是在校大学生,而且本身这…
环境ThinkPHP+Redis 1.IP保存文件,文件名自定义,与后文对应 2.获取IP信息脚本.sh文件 #!/bin/bash #variables ip_txt_path=/www/wwwroot/checkip/china_ip.txt; ip_url='http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest'; php_path=/www/server/php/72/bin/php script_path=/w…