![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Php
vierhang
这个作者很懒,什么都没留下…
展开
-
强大的搜索引擎Elasticsearch安装 - php简单使用
强大的搜索引擎Elasticsearch安装 - php简单使用本篇笔记记录了CentOS6.9下安装ElasticSearch的过程安装jdk1.8yum install java-1.8.0-openjdk添加elasticsearch用户和组groupadd elasticsearchuseradd -g elasticsearch elasticsearch创建目录mkdir -p /usr/localcd /usr/local下载ElasticSearchwget -原创 2020-06-15 17:42:28 · 294 阅读 · 0 评论 -
深入理解Laravel容器概念,DI依赖注入,IOC控制反转
深入理解Laravel容器概念,DI依赖注入,IOC控制反转IOC - 控制反转DI - 依赖注入这两个存在的目的都是为了解耦!解耦可以理解为,原本紧密结合的两个磁铁,现在我们在他们中间加一层木板,强行将他们分开,却不影响他们原有的功能于磁性。所谓依赖就是 Class A 对于功能function a() 的实现需要依赖于class B而注入就是在Class A实现功能 functio...原创 2020-04-03 15:50:27 · 319 阅读 · 0 评论 -
php设计模式:观察者理解
php设计模式:观察者理解现在假设一个场景:在用户登录时,产品新增要求,让你查看用户余额是否够,不够就疯狂弹窗让他充值。这时候你疯狂撸代码。过两天产品又加了个需求,让你查看用户是否有消息未处理,没有疯狂提示他。这时候你疯狂撸代码。需求不断的来…如果是这样,我就得在登录后疯狂加代码。到后面回头一看,我都看不懂这个登录后,到底要干嘛了。那么此时我们就得考虑用‘观察者模式’了观察者简单来...原创 2020-04-02 19:41:28 · 100 阅读 · 0 评论 -
PHP 堆栈数据段代码段的理解
PHP 堆栈数据段代码段的理解栈:基本数据类型(粗暴的理解为空间A,存着数字8)堆:new 出来的对象代码段:函数、运行的代码数字段:字符串常量,全局变量,静态变量等对象在PHP中和整型,浮点型一样,也是一种数据类,都是存储不同类型数据用的,在运行的时候要加载到内存中去用。内存从逻辑上说,大体分为4段,栈空间段,堆空间段,代码段,初始化静态段,程序里面不同的声明放在不同的内存段里面。...转载 2020-04-01 17:14:33 · 240 阅读 · 0 评论 -
Laravel 6 模型事件使用
Laravel 6 模型事件使用所有支持的模型事件在 Eloquent 模型类上进行查询、插入、更新、删除操作时,会触发相应的模型事件,不管你有没有监听它们。这些事件包括:retrieved获取到模型实例后触发creating插入到数据库前触发created插入到数据库后触发updating更新到数据库前触发updated更新到数据库后触发...原创 2020-03-04 11:29:55 · 599 阅读 · 0 评论 -
Tp利用行为钩子,自动注册门面代理facade
Tp利用行为钩子,自动注册门面代理facade1.首先讲解一下,为什么需要门面代理。以及好处假设此时,公司优化了个MysqlV2版本,更加好。那么,我们去一个个业务模块里面更改业务里的new mysqlV2就显得不现实,工程量也大。此时,门面代理的作用就出来了。...原创 2020-01-18 16:49:31 · 312 阅读 · 0 评论 -
Swoole长连接,心跳包Heartbeat检测
Swoole长连接,心跳包Heartbeat检测首先:长连接都是很消耗资源的。所以,需要有个机制来检测客户端是否还活着 Or 存在,不存在就断开连接,减少资源消耗。众所周知,Tcp连接需要3次握手跟4次挥手。不管是服务器主动发起断开连接,还是客户端发起断开连接,都要经历完整的四次挥手阶段。最后由系统回收客户端的文件描述符fd(后面看代码就能看出fd标识符文件是啥)。为什么要回收描述符呢还是...原创 2020-01-02 16:01:56 · 1435 阅读 · 0 评论 -
PHP可变函数
PHP可变函数可变函数即变量名加括号,PHP系统会尝试解析成函数,如果有当前变量中的值为命名的函数,就会调用。如果没有就报错。eg:$b = 'get';function get(){ echo 1;}$b();...原创 2019-05-23 20:39:42 · 253 阅读 · 0 评论 -
PHP闭包函数与闭包函数回调
PHP闭包函数与闭包函数回调没有名的函数成为匿名函数eg:$sum = function($num1,$num2){ return $num1+$num2;};//匿名函数调用echo $sum(1,2);匿名函数的回调方式回调- - 在一个函数中调用另一个函数eg:function sum($n1,$n2,$c){ return $c($n,$n2);}$res =...原创 2019-05-23 20:48:39 · 1588 阅读 · 0 评论 -
php回调函数
php回调函数//回调函数function getSum($a,$b,$c){ return $c($a,$b,$c); //sub(1,2)}function sum($num1,$num2){ return $num1+$num2;}function sub($num1,$num2){ return $num1-$num2}$ers = getSum(3,4,'su...原创 2019-05-23 20:58:20 · 108 阅读 · 0 评论 -
封装简易mongoDB类
封装简易mongoDB类<?php/*** Mongodb 基本操作API,支持基本类似关系统型数据库的操作接口** @version 1.0 * [说明] * * 1:该版本API实现了 Mongodb 中最基本的插入/修改/查询/删除操作的封装 * 2:其它更高级的操作可通过 $this->getMongo() 得到原生的对象,更多API请自行查阅 Mongo P...翻译 2019-05-28 10:46:16 · 286 阅读 · 0 评论 -
结合namespace自己搭建MVC框架
结合namespace自己搭建MVC框架自定义MVC框架MVC基本介绍MVC是这3个单词的缩写:Model:模型,专门用来处理数据的View:视图,专门用来显示内容(保存一些html文件)Controller:控制器(中控器),用来分发任务(命令模型处理数据、命令视图显示数据)MVC的目录结构划分原则将来使用mvc框架的时候,有一些代码是和具体项目的业务相关的,所...原创 2019-06-13 19:11:01 · 253 阅读 · 0 评论 -
mongoDB中聚合(aggregate)的具体使用结合PHP
最近在学习mongoDB的使用,本文来介绍一下其中aggregate的具体使用先来看一个分组的例子,本例中$group是一个管道操作符,获得的结果可以接着输出到下一个管道,而内部的$sum是一个表达式操作符。用$group 举个例子将document分组,用作统计结果 db.Ubisoft.aggregate([ // aggregate方法接收的是一个数组 { ...原创 2019-06-20 10:34:46 · 4000 阅读 · 0 评论 -
自己实现的一个PHP错误异常日志捕获类
自己实现的一个PHP错误异常日志捕获类特性:输出到控制台/文件/自定义方法可以通过错误等级进行过滤,有总开关可以关闭一切错误输出易用废话不多说,上代码:<?php/** * Created by PhpStorm. * User: tim * Date: 2019/1/30 * Time: 15:41 * 功能:日志函数,用与捕获错误或者输出信息到指定的输出流。 *...原创 2019-06-04 13:06:02 · 1052 阅读 · 5 评论 -
php利用syslog做日志备份或消息发送
php如何将日志写进syslogCentOS 6开始,日志服务由syslogd变成了rsyslogd,在配置rsyslogd前需要了解下系统日志的8个级别:0 EMERG(紧急):可能导致系统不可用的情况1 ALERT(警报):必须马上解决的问题2 CRIT(严重错误):比较严重的情况3 ERR(错误):运行出现错误4 WARNING(警告):可能会影响系统功能的情况5 NOTICE...原创 2019-08-01 16:51:01 · 756 阅读 · 0 评论 -
Swoole通过Ngnix转发搭建http服务器
Swoole通过Ngnix转发搭建http服务器swoole_http_serverswoole_http_server继承自swoole_server,用于创建swoole版的http服务器。php也可以自己创建http服务器了?对,你没听错,是http服务器。所谓的http服务器,其含义就是一旦我们部署好,用户便可以直接通过浏览器访问该服务器。理论上而言,我们不需要再借用nginx或者h...原创 2019-08-06 10:59:35 · 781 阅读 · 0 评论 -
Swoole HTTP 的应用
Swoole HTTP 的应用。我们都知道 HTTP 是一种协议,允许 WEB 服务器和浏览器通过互联网进行发送和接受数据。想对 HTTP 进行详细的了解,可以找下其他文章。我们在网上能看到的界面,图片,动画,音频,视频 等,都有依赖这个协议的。在做 WEB 系统的时候,都使用过 IIS、Apache、Nginx 吧,我们利用 Swoole 也可以 简单的实现一个 WEB 服务器。主要使...转载 2019-08-21 12:05:35 · 420 阅读 · 0 评论 -
SQL:在结果集中,把特定的数据排在最前面
查询出数据,按序号排序,并将一个或是多个特定的数据排在最前面sql格式:select * from `edr_artical` where (`t_id` = 26 or `id` = 63) and `is_pub` = 1 and `edr_artical`.`deleted_at` is null order by case when (id=63 or id=64) then 0 el...原创 2019-05-18 09:35:41 · 12973 阅读 · 2 评论 -
在 Laravel 的 Blade 模版中使用全局变量代替路径
在 Laravel 的 Blade 模版中使用全局变量代替路径在使用tp框架时,我们可以用常量来代替文件路径,如:<img class="style" src="__TMPL__/uploads/ad/{$item.config.shop_image}">我们只需要在配置文件(app.php)中设置即可,TMPL_PARSE_STRING' => array( ...原创 2019-04-12 15:01:08 · 748 阅读 · 0 评论 -
搭建LNMP遇到的小坑
搭建LNMP遇到的小坑配置 centos7 静态地址phpmyadmin configcentos7 禁用 selinuxmysql 5.7 重置 root密码centos apache You don't have permission to access / on this server配置 centos7 静态地址ip a showhttps://www.techrepublic.com...翻译 2019-04-09 11:32:03 · 220 阅读 · 0 评论 -
CentOS6.5 下升级 PHP7、MySQL5.7
CentOS6.5 下升级php7、mysql5.7hp7出了有一段时间了,最近家里的机器及自己的虚拟机都升级到了php7。准备以后新的东西全部都用php7来写了。最近想把阿里云的也升级到php7,然后就开始升级了,以下是一些升级过程。当然也遇到了一些问题。安装最新的nginx不通过源码包安装使用yum使用yum源安装比较好管理,就是样。修改yum 源进入/etc/yum.repos....转载 2019-04-09 15:10:11 · 850 阅读 · 0 评论 -
Thinkphp模板布局
Thinkphp模板布局建立layout1.html作为基础base模板在vie中建立layout文件夹用于管理模板建立layout1.html作为基础base模板在application/admin/view/index/index.html中添加如下代码1继承的模板{extend name="layout/layout1" /}2引入的html代码部分...原创 2019-04-12 16:36:46 · 325 阅读 · 0 评论 -
Lravel使用模板布局
Lravel使用模板布局在resource/views中新建文件夹layout在layout文件夹中建立layout.html用于父模板在layout.html中添加如下代码 @section('top') <h1>this is public top<h1/> @show @section('left') <h1>this ...原创 2019-04-12 16:45:10 · 507 阅读 · 0 评论 -
Nginx配置详解
Nginx配置详解序言Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。vNginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。Nginx的稳定性...翻译 2019-04-09 17:25:00 · 107 阅读 · 0 评论 -
require(): open_basedir restriction in effect. 解决方法
require(): open_basedir restriction in effect. 解决方法在linux服务器部署thinkphp5的时候PHP报了这个错误,解决方法:我首先要申明的是,下面的方法适合所有报“PHP报:require(): open_basedir restriction in effect”错误的项目,并不仅仅只是适合thinkphp5的人。只要你的PHP报此错...翻译 2019-04-09 20:51:43 · 1041 阅读 · 0 评论 -
Nginx去掉url中index.php后缀
Nginx去掉url中index.php后缀如果你使用 Nginx ,在你的网站配置中加入下述代码将会转发所有的请求到 index.php 前端控制器。location / { try_files $uri $uri/ /index.php?$query_string;}...原创 2019-05-14 14:45:24 · 3673 阅读 · 0 评论 -
Laravel 【mews/captcha】图片验证码 api接口形式获取、验证
Laravel 【mews/captcha】图片验证码 api接口形式获取、验证**在laravel 中使用此扩展,正常的用法是通过session来保存与验证用户输入的验证码是否正确,但我目前的项目是前后台彻底分离的。前台使用vue框架来搭建,后台用laravel来做api后台的接口。前后台通过jwt来标识用户。所以没法使用session来使用这个扩展,百度了好久,无用,最终还是在官方论坛找到解...原创 2019-05-14 15:00:21 · 1961 阅读 · 2 评论 -
ajaxSubmit 表单提交简单运用
ajaxSubmit 表单提交简单运用引入JS插件<script src="jquery-form.js"></script>HTM表单<form method="post" id="form1" enctype="multipart/form-data" accept-charset="utf-8" class="form-horizontal"...原创 2019-05-14 15:19:05 · 110 阅读 · 0 评论 -
Laravel 文件上传,Storage::disk
Laravel 文件上传,Storage::disk在config/filesystems.php文件中增加uploadsdisk驱动;例:'disks' => [ 'local' => [ 'driver' => 'local', 'root' => public_path('app'), ], // 新...原创 2019-05-20 16:07:25 · 11694 阅读 · 0 评论 -
Laravel中间件的简单实用
Laravel中间件的简单实用简介Laravel 中间件提供了一种方便的机制来过滤进入应用的 HTTP 请求。例如,Laravel 内置了一个中间件来验证用户的身份认证。如果用户没有通过身份认证,中间件会将用户重定向到登录界面。但是,如果用户被认证,中间件将允许该请求进一步进入该应用。当然,除了身份认证以外,还可以编写另外的中间件来执行各种任务。例如:CORS 中间件可以负责为所有离开应用的...转载 2019-05-20 16:37:27 · 635 阅读 · 0 评论 -
判断Laravel Eloquent获取数据结果集是否为空
判断Laravel Eloquent获取数据结果集是否为空在使用Laravel Eloquent模型时,我们可能要判断取出的结果集是否为空,但我们发现直接使用is_null或empty是无法判段它结果集是否为空的。var_dump之后我们很容易发现,即使取到的空结果集, Eloquent仍然会返回Illuminate\Database\Eloquent\Collection对象实例。其实,E...原创 2019-05-15 17:23:46 · 1773 阅读 · 0 评论 -
Laravel返回不重复的某个字段信息列表
Laravel返回不重复的某个字段信息列表DB::table('table_name') ->groupBy('province') ->pluck('province')原创 2019-05-16 14:32:11 · 3568 阅读 · 0 评论 -
解决宝塔open_basedir restriction in effec问题
解决宝塔open_basedir restriction in effec问题Warning: require(): open_basedir restriction in effect. File(/www/wwwroot/thinkphp/start.php) is not within the allowed path(s): (/www/wwwroot/public/:/tmp/:/pr...原创 2019-05-17 09:31:25 · 4052 阅读 · 2 评论 -
Centos如何设置IP地址,LINUX怎么修改IP地址
Centos如何设置IP地址,LINUX怎么修改IP地址今天接触到了一个新的任务,修改Linux的IP地址。采用的是浪潮的服务器,操作系统为CentOS7。(一)为了能够让IP地址永久生效。首先进入编辑 vi /etc/sysconfig/network-scripts/ifcfg-eth0 文件。(二)说明一下下面的这个文件:DEVICE=enp4s0f0 网卡对应的设备别名,如if...原创 2019-05-27 11:57:26 · 2682 阅读 · 0 评论