自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张胜楠的博客

日常代码分享

  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 Jenkins自动部署Gitlab项目

test/beta环境自动部署,prod打tag部署,Execute Shell按部署脚本中变量名对应填写Execute Shell(例如:ProjectShell.sh ProjectName 代码服务器ip环境名:test/beta/prod等路径:/data/test)NewProject.sh NewProject 127.30.10.10 test /data/test...

2019-10-10 11:36:52 652

原创 laravel5.6 反解token获取用户信息

token加密算法:use Tymon\JWTAuth\JWTAuth;use Tymon\JWTAuth\Exceptions\JWTException;protected function setAuthenticationHeader($response, $token = null) { $token = $token ?: $this->auth...

2019-05-14 15:38:02 2720

原创 homestead下laravel5.6项目暴露接口给外网使用

进入虚拟机的项目目录下执行:share 项目名.app

2019-05-13 11:31:44 818

原创 laravel5.6 使用mail发送附件邮件

模型:<?phpnamespace App\Mail;use Illuminate\Bus\Queueable;use Illuminate\Contracts\Queue\ShouldQueue;use Illuminate\Mail\Mailable;use Illuminate\Queue\SerializesModels;class SendMail exte...

2019-05-13 11:26:21 2001

原创 Laravel 上传文件大小改为200M

今天处理了个小问题,要把上传文件大小支持到200M,但是遇到一点坑解决方案——改3方面:1.nginx的上传大小,最大允许请求时长2.php.ini的上传、下载大小3.前端页面请求时长设置步骤:1.设置nginx参数:(最大允许200M,最长允许请求300s) client_max_body_size 200M; clien...

2019-04-24 11:38:47 4996

原创 Laravel使用中间件实现所有接口的签名校验

1.在项目目录下生成一个空白中间件,如VerifySign。执行: php artisan make:middleware VerifySign2.进入项目目录如下,并打开刚生成的中间件,在handle方法下写校验sign的逻辑:3.找到项目目录如下,打开Kernel.php,在$routeMiddleware中添加当前这个中间件的路径,并起一个名字,如verifySign'...

2019-04-16 17:00:34 3853 2

原创 laravel 通过migration改变字段类型或枚举增加种类

//改变枚举的种类DB::statement("ALTER TABLE verify_codes MODIFY COLUMN platform ENUM('ios', 'android', 'h5', 'web')");//将枚举变为stringDB::statement("ALTER TABLE verify_codes CHANGE COLUMN position position V...

2019-04-12 19:07:28 2244

原创 使用homestead环境,laravel框架代码初始化及使用

建表/改表php artisan make:migration create_xx_tablephp artisan make:migration alert_xx_table表迁移php artisan migrate生成控制器php artisan make:controller Api\\XXXXApiController生成模型php artisan make:mod...

2019-03-29 11:51:34 344

原创 laravel 通过迁移文件改变数据表某字段类型

/** * Run the migrations. * * @return void */ public function up() { Schema::table('free_resources', function (Blueprint $table) { DB::statement("A...

2019-03-29 11:48:25 3495

原创 imagettfbbox(): could not read font

问题:captcha 图形验证码 突然不能用了,访问验证码图片地址显示:imagettfbbox(): could not read font解决:我猜可能是因为之前某些操作部分字体库缺失或损毁。试着把mews/captch手动删除文件,然后重新用composer install一下,问题解决。思路:这里提示:imagettfbbox(): could not read font 即:该字...

2019-03-15 15:05:20 2334 1

原创 富文本添加的格式在WebView中显示不换行解决

原因:WebView不解析/n为换行符解决途径:替换字符串中的/n为&lt;br&gt;preg_replace('/\n/', '&lt;br&gt;', $str);

2019-03-14 10:31:28 2225

原创 php正则替换字符串中的图片地址

$want_to_be = ['aaaaaa', 'bbbbbb']; $stem = '&lt;p&gt;这是图片一,但是地址不对&lt;img src="111111" width="100"&gt;这是图片二,地址也不对&lt;/p &gt;&lt;span&gt;&lt;img src="222222"&gt;&lt;/span&

2019-02-28 19:46:31 713

原创 laravel5.6 Attribute的使用

Attribute可以给返回值中加上数据表中没有的值,或者修改查到的结果的格式,或者对查询结果某些字段进行修改后返回,下面介绍一下使用方法首先在模型里加入appends,数组中填写返回值中想要新增的字段名(建议原字段名+标识的格式)protected $appends = ['file_size_human', 'subject_code_human'];这里2个字段分别是文件大小比...

2019-02-21 10:08:39 5071

原创 laravel打印sql执行语句

\DB::connection()-&gt;enableQueryLog();   //首先开启query日志xxxxxxxxxxxxxx//这里执行sql语句 $sql_log= \DB::getQueryLog();    //获取执行语句var_dump($sql_log);    //打印执行语句...

2019-02-21 09:39:59 2275

原创 laravel5.6 belongsTo和hasOne连接不同数据库的表

首先A hasOne B 表示 A.b_id = B.idC belongsTo B 表示 C.id = B.c_id举例:这里我们假定在B的模型里:protected $table = '要连的表名A';//protected $table = '要连的表名C';public function getA(){//如果连不同库的表        return $...

2019-01-21 18:13:50 1447

原创 Laravel下导入excel文件

controller:service:import:

2018-12-29 15:23:54 904

原创 laravel 使用mews/captcha时session无效

laravel中,session存在跨域问题,可使用中间件解决在app/Http/Kernel.php的中间件中加入以下代码protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \Illuminate\Foundation\Http\...

2018-12-25 12:09:17 1103

转载 【扩展推荐】mews/captcha 图片验证码解决方案

 说明mews/captcha 是一个非常易于集成的图片验证码扩展包,使用此扩展包可以分分钟给你的网站加上验证码功能。 完整的高质量扩展包推荐列表,请前往:下载量最高 100 个 Laravel 扩展包推荐1. 安装1). 使用 composer 安装:composer require mews/captcha2). 修改 config/app 文件,添加...

2018-12-24 17:15:06 1668

原创 laravel中使用with如何动态添加where条件

关键点:闭包模型:public function getCollect()    {        return $this-&gt;belongsTo('App\Components\Misc\Models\CollectCareerTalk', 'id', 'career_talk_id');      }public function otherMethod()    ...

2018-11-06 13:12:59 14997

原创 nginx配置PC站M站地址统一问题

需求:将M站地址与PC站地址匹配,以适应百度收录实现:在nginx配置文件中添加如下代码,正则匹配地址格式,并转到要请求地址:PS:其中$3表示第三个参数...

2018-09-12 14:51:20 938

原创 homestead中定制nginx 配置TP隐藏index.php

解决部署网站后不带index.php不能正常跳转字页面的问题:一.找到homestead安装目录根目录,选择scripts目录,找到serve-xxx.sh,然后复制一份出来,改成自定义的名字如:serve-mcms,然后在该文件中加入如下配置:location / {        try_files \$uri \$uri/ /index.php?\$query_string;  ...

2018-09-12 14:45:38 1879

原创 正则表达式匹配title:文章标题1.等多个title:xxxx.之间内容

正则表达式:(?&lt;=:)([^:\.])*(?=\.)测试结果:

2018-08-15 14:41:52 5160

翻译 解决linux mint Warning: No support for locale: en_US.utf

$ sudo update-initramfs -u[sudo] password for marty:update-initramfs: Generating /boot/initrd.img-3.2.0-29-generic-paeWarning: No support for locale: en_US.utf8$ sudo locale-gen --purge --no-archi...

2018-05-23 15:51:27 1369

转载 一次完整的HTTP请求过程

HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: 1. 建立TCP连接在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层...

2018-05-17 16:08:18 197

原创 免费goland服务器激活地址

goland官网:https://www.jetbrains.com/go/?fromMenu(选30天免费试用的就行,然后注册的时候选注册服务器,填下面激活地址,妥妥的!)服务器激活地址:http://idea.youbbs.org...

2018-05-02 13:56:17 9352

原创 浅析Redis五种数据类型及简单使用

php-高级编程QQ群:490910618一.Redis是什么        Redis是高性能Key-Value数据库,属于非关系型数据库的一种。二.Redis支持的数据类型        共支持5种数据类型:string,list,hash,set,zset        1.string (字符串类型)                string可以是字符串,数字。实际存储在redis中的类...

2018-04-28 14:52:35 207

转载 redis持久化的几种方式

redis持久化的几种方式1、前言Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这...

2018-04-26 15:35:35 153

转载 OPTIONS 方法在跨域请求(CORS)中的应用

OPTIONS 方法比较少见,该方法用于请求服务器告知其支持哪些其他的功能和方法。通过 OPTIONS 方法,可以询问服务器具体支持哪些方法,或者服务器会使用什么样的方法来处理一些特殊资源。可以说这是一个探测性的方法,客户端通过该方法可以在不访问服务器上实际资源的情况下就知道处理该资源的最优方式。既然比较少见,什么情况下会使用这个方法呢?最近在做跨域文件上传的时候,浏览器会自动发起一个 OPTIO...

2018-04-17 09:55:27 998

原创 ES修改mapping映射type或全部结构

测试服务器一套ES,正式服务器一套ES,突然正式网的搜索开始出问题了,然后就像把测试网的ES映射直接导到正式网,因为一开始维护ES的人已经离职了,所以正式网和测试网映射结构有些不一样的时候,不确定是不是这个原因导致的,所以就打算先把测试网的映射结构拿过来,看看是不是这个原因,于是有了下面一系列操作,并不影响数据,只是把测试网映射搬到正式网而已。(只有当想要修改映射中的type时才需要这样做,如果只...

2018-04-17 09:54:57 17595 3

转载 ElasticSearch的match和match_phrase查询

问题:索引中有『第十人民医院』这个字段,使用IK分词结果如下 :POST http://localhost:9200/development_hospitals/_analyze?pretty&amp;field=hospital.names&amp;analyzer=ik{ "tokens": [ { "token": "第十", "start_offset"...

2018-04-16 11:27:47 2302

转载 Elasticsearch设置中文分词

安装分词插件注意:安装对应版本的插件。 在ES安装目录下有两种方法:1、手动安装 下载https://github.com/medcl/elasticsearch-analysis-ik/releases,然后unzip到your-es-root/plugins/下。2、自动安装./bin/elasticsearch-plugin install https://github.com/medcl/...

2018-04-16 11:23:45 1163

转载 Kibana入门

kibana的使用其实不难,但是我实在是有点忙(好吧,其实是懒得写了),这个博主写的很好,还做了备注,转过来给大家看看一、前言Kibana 是一个开源的分析和可视化平台,旨在与 Elasticsearch 合作。Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据。...

2018-04-16 11:18:06 1587 1

转载 Elasticsearch mapping field修改过程

Elasticsearch 的坑爹事 本文记录一次Elasticsearch mapping field修改过程团队使用Elasticsearch做日志的分类检索分析服务,使用了类似如下的_mapping1234567891011121314{    "settings" : {        "number_of_shards" : 20    },    "mappings" : {     ...

2018-04-16 11:04:03 2930

原创 elasticsearch-analysis-ik

github一个ES相当厉害的中文分词器:ik分词器,这里推荐给大家:https://github.com/medcl/elasticsearch-analysis-ik之前一直在研究分词,看了好多资料,这个真的值得一看。多说无益,打开看一下就知道多么强大了。...

2018-04-16 11:00:11 938

转载 ElasticSearch 导入数据的一个坑

今天使用 ES 时,碰到一个坑,估计其他同学或许也会碰到,特此分享一下。step 1 ModelBetOrder 是一个订单的 model,搜索时我打算使用 term query。我把 mapping 设置为 index: 'not_analyzer' ,故意不分词,以便精确搜索。Gem 用的是 elasticsearch-rails# model/bet_order.rb# Set up ...

2018-04-16 10:52:45 7388

原创 修改ES默认分词设置

        ES的默认分词设置是standard,这个在中文分词时就比较尴尬了,会单字拆分,比如我搜索关键词“清华大学”,这时候会按“清”,“华”,“大”,“学”去分词,然后搜出来的都是些“清清的河水”,“中华儿女”,“地大物博”,“学而不思则罔”之类的莫名其妙的结果,这里我们就想把这个分词方式修改一下,于是呢,就想到了ik分词器,有两种ik_smart和ik_max_word。       ...

2018-04-16 10:49:58 27220 2

转载 Elasticsearch中使用ik分词器 JAVA api

一、Elasticsearch分词在elasticsearch自带的分词器中,对中文分词是支持的,只是所有的分词都是按照单字进行分词的,例如所带的标准的分词器standard分词器,可以按照如下的方式查询是如何进行分词的[java] view plain copyhttp://localhost:9200/iktest/_analyze?pretty&amp;analyzer=standard&a...

2018-04-16 10:25:48 12387

转载 elasticsearch-利用游标查询 'Scroll'来做分页查询

游标查询 'Scroll'scroll 查询 可以用来对 Elasticsearch 有效地执行大批量的文档查询,而又不用付出深度分页那种代价。游标查询允许我们 先做查询初始化,然后再批量地拉取结果。 这有点儿像传统数据库中的 cursor 。游标查询会取某个时间点的快照数据。 查询初始化之后索引上的任何变化会被它忽略。 它通过保存旧的数据文件来实现这个特性,结果就像保留初始化时的索引 '视图' ...

2018-04-16 10:10:43 2343

原创 ES中match和term差别对比

match在匹配时会对所查找的关键词进行分词,然后按分词匹配查找,而term会直接对关键词进行查找。一般模糊查找的时候,多用match,而精确查找时可以使用term。举个例子说明一下:{ "match": { "title": "my cat"} }{ "bool": { "should": [ { "term": { "tit

2018-04-16 10:01:11 46374 3

原创 SublimeText3使用Package Control 报错:There Are No Packages Available For Installation

PHP技术交流QQ群:490910618网上查了很多,但是都没有解决到我的问题,后来看到这个码友的评论拯救了我的问题。附上码友链接:0c96fd9687da 8楼 · 2016.07.30 09:34我整理一下所有的解决办法,如果有人遇到相同问题,可以少踩一些坑。一. Windows的TCP/IPv6的原因:无法打开网址https://packagecontrol.io/channel_v3.js...

2018-04-13 15:41:38 241

ctags插件下载地址亲测可用

sublime 插件,用与自动定位到方法定义位置,且可跳回

2018-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除