
PHP
文章平均质量分 94
寻找09之夏
这个作者很懒,什么都没留下…
展开
-
PHP项目迁移K8s之OSS存储卷
PHP项目迁移K8s使用OSS存储卷的过程和好处原创 2023-06-22 21:22:36 · 1435 阅读 · 7 评论 -
PHP 页面静态化
动态页面静态化是通过动态网站静态化将动态网页以静态的形式进行展现。原创 2023-02-19 21:00:12 · 1677 阅读 · 0 评论 -
RabbitMQ之话题(Topic)模式(PHP版)
话题模式(Topic)一个消息被多个消费者获取,消息的目标queue可用BindingKey通配符(#:零个或多个单词,*:一个单词)的方式指定。 RabbitMQ中交换器主要有四种类型:direct fanout topic headers ,路由模式下交换器类型是topic。类库RabbitMQ使用的是AMQP协议。要使用她你就必须需要一个使用同样协议的库。这里使用php-amqp...原创 2020-01-13 15:19:39 · 1328 阅读 · 0 评论 -
RabbitMQ之路由(Routing)模式(PHP版)
路由模式(Routing)一个生产者,多个消费者,每一个消费者都有自己的一个队列,生产者没有将消息直接发送到队列,而是发送到了交换机,每个队列绑定交换机,生产者发送的消息经过交换机,到达队列,实现一个消息被多个消费者获取的目的。 RabbitMQ中交换器主要有四种类型:direct fanout topic headers ,路由模式下交换器类型是direct。类库RabbitMQ...原创 2020-01-13 12:57:23 · 850 阅读 · 0 评论 -
RabbitMQ之发布/订阅(Publish/Subscribe)模式(PHP版)
发布/订阅模式(Publish/Subscribe)发布/订阅模式:一个生产者,多个消费者,每一个消费者都有自己的一个队列,生产者没有将消息直接发送到队列,而是发送到了交换机,每个队列绑定交换机,生产者发送的消息经过交换机,到达队列,实现一个消息被多个消费者获取的目的。 如果将消息发送到一个没有队列绑定的exchange上,那么该消息将会丢失,因为在RabbitMQ中Exchange不具备存...原创 2020-01-12 23:56:45 · 1541 阅读 · 4 评论 -
RabbitMQ之工作(Work)模式(PHP版)
工作模式(Work)生产者(P)负责生产消息,将消息发送到队列(queue)中,多个消费者(C)监听队列,队列有消息就进行消费;工作模式就是一个生产者对应多个消费者。类库RabbitMQ使用的是AMQP协议。要使用她你就必须需要一个使用同样协议的库。这里使用php-amqplib,并且使用Composer依赖管理。# 项目中添加一个composer.json文件{ ...原创 2020-01-12 22:21:37 · 940 阅读 · 1 评论 -
RabbitMQ之简单(Simple)模式(PHP版)
简单模式(Simple)生产者(P)负责生产消息,将消息发送到队列(queue)中,消费者(C)监听队列,队列有消息就进行消费;简单模式就是一个生产者对应一个消费者。类库RabbitMQ使用的是AMQP协议。要使用她你就必须需要一个使用同样协议的库。这里使用php-amqplib,并且使用Composer依赖管理。# 项目中添加一个composer.json文件{ ...原创 2020-01-12 22:36:12 · 504 阅读 · 0 评论 -
防止重复提交策略
前言业务开发中,常常面临防止重复提交问题,当该情况发生往往会带来验证后果。前端操作抖动、快速操作、网络延迟以及后台处理慢等等都会增加后端重复处理的概率;方案前端提交之后,屏蔽提交按钮。该方案虽然可以启动一定作用,对于模拟接口请求就没有用。 提交表单跳转其他页面。该方案在极致情况下也是不安全的。 利用Session防止表单重复提交。客户端请求一个页面,服务端生成一个token(令牌)...原创 2020-01-07 21:23:51 · 3866 阅读 · 1 评论 -
Redis实现秒杀、抢购业务
前言我们实际开发中经常遇到定点秒杀业务,比如抢购商品、抢红包等等;这种情况下,一瞬间的并发访问量非常大,若设计不完善可能会出现超卖的现象。通过Redis的列表可以很好起到消峰的作用,同时实现业务之间的解耦。环境redis: 5.0.5wrk: 4.1.0-4 # 压测工具(https://github.com/wg/wrk)eg: wrk -t12 -c400 -d30s htt...原创 2020-01-07 11:37:06 · 934 阅读 · 0 评论 -
virtual memory exhausted: Cannot allocate memory
阿里云服务器,内存1G,编译安装fileinfo出现这个错误; 原因:由于物理内存本身很小,且阿里云服务器并没有分配swap空间,当物理内存不够用时,物理内存中暂时不用的内容没地方转存。 解决:如下操作; [root@izm5eb1zq3z60zvnqzti7yz fileinfo]# dd if=/dev/zero of=/swap bs=1024 count=1M # 创建一个大小...原创 2018-09-21 10:27:40 · 357 阅读 · 0 评论 -
Call to undefined function think\finfo_open()
linux服务器环境搭建的时候,fileinfo扩展从php5.3之后默认是开启的,可能是为了方便没有编译安装; 首先找到fileinfo目录; [root@izm5eb1zq3z60zvnqzti7yz ~]# find / -name fileinfo/usr/local/php/ext/fileinfo 进入此目录,执行 /usr/local/php/bin/php...原创 2018-09-21 10:14:11 · 5669 阅读 · 0 评论 -
Thinkphp5 Thinkphp5.1 后台 模版 RBAC 权限管理
帐号:救世大侠 密码:123456 QQ群:893886288【如有需要,请加此QQ群】 github源码:https://github.com/tangfc/RBAC原创 2018-09-26 15:29:20 · 6032 阅读 · 2 评论 -
phpStudy 配置虚拟虚名[ window ]
打开host文件,添加域名。window在这个路径下面“C:\Windows\System32\drivers\etc”,亦可用phpstudy功能框中直接打开。 2.修改vhots.conf文件,找到“LoadModule vhost_alias_module modules/mod_vhost_alias.so”去掉前面的“#”号, 开启虚拟域名。 3.修改vh...原创 2018-04-09 17:04:28 · 2477 阅读 · 0 评论 -
You don't have permission to access /tp5/ on this server.
解决方法:phpStudy 配置虚拟虚名[ window ]原创 2018-04-09 17:06:35 · 4890 阅读 · 0 评论 -
LAMP【CentOS 7+MySQL5.7+PHP7.2+Apache2.4】环境搭建与配置
1.安装MYSQL下载软件包,这里使用的是免编译安装包,建议存放在/usr/local/src/目录中,这里我的安装包是64位;可以使用uname -i 查看系统版本信息。[root@localhost ~]# uname -ix86_64[root@localhost ~]# cd /usr/local/src/[root@localhost src]# wget http://mirro...原创 2018-03-27 17:36:12 · 4037 阅读 · 1 评论 -
No input file specified. ThinkPHP 报错
修改public目录中.htaccess文件。<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f# RewriteRu...原创 2018-04-10 13:06:00 · 194 阅读 · 0 评论 -
Laravel5.5 / laravel5.6 “No input file specified”问题
1.在laravel框架项目下面创建.htaccess文件,写入"RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]"。window下可以打开记事本,保存文件的时候选择,文件类型选择"所有文件",命名为".htaccess"即可。...原创 2018-03-28 11:32:38 · 7740 阅读 · 1 评论 -
thinkPHP5.0中$_ENV无法获取环境变量
将php.ini中 variables_order = "GPCS" 修改为 variables_order = "EGPCS";系统在定义PHP预定义变量时的顺序是 GET,POST,COOKIES,SERVER,没有定义Environment(E);加上E后$_ENV的值就可以获取到,EGPCS是Environment、Get、Post、Cookies、Server的缩写;生产环境下,不设置E...原创 2018-04-12 10:21:46 · 3427 阅读 · 0 评论 -
Nginx上Thinkphp5 出现404问题
1.当我们访问服务器上的Thinkphp5.0框架的时候,出现访问域名可以访问,但是补全地址或则访问其他地址就出现404错误,可能是我们Niginx不支持pathinfo访问模式 ,所以修改nginx.conf文件,修改一下两项。location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.p...原创 2018-04-27 13:38:22 · 5842 阅读 · 0 评论 -
Thinkphp5中PHPExcel上传文件之后删除文件
PHPExcel上传Excel文件之后,在读取文件里面的数据,发现数据不符合要求,想将不符合要求的Excel文件从服务器上删除; public function upload(Request $request){ $file = $request->file('file'); // 移动到框架应用根目录/public/uploads/ 目录下 if ($fi...原创 2018-07-26 10:48:22 · 1055 阅读 · 0 评论 -
request Payload 提交数据,php无法接收到参数
最近 再做一个项目的时候,使用thinkphp框架,发现$_REQUEST无法提交前端提交的参数,以下是解决方法。 if (isset($GLOBALS['HTTP_RAW_POST_DATA'])) { $requestParam = $GLOBALS['HTTP_RAW_POST_DATA'];} else { $requestParam = file_get_con...原创 2018-09-11 08:35:18 · 3508 阅读 · 0 评论 -
LNMP【CentOS7+MySQL5.7+PHP7.2+Nginx1.13】环境搭建与配置
1.安装MYSQL下载软件包,这里使用的是免编译安装包,建议存放在/usr/local/src/目录中,这里我的安装包是64位;可以使用uname -i 查看系统版本信息。[root@localhost ~]# uname -ix86_64[root@localhost ~]# cd /usr/local/src/[root@localhost src]# wget http://mirro...原创 2018-03-20 00:11:40 · 1355 阅读 · 0 评论