- 博客(91)
- 收藏
- 关注
原创 laravel 中关于模型查询构造器的特殊用法
laravel 中关于模型查询构造器的特殊用法1、whereHas2、when记录一些相对比较常用的特殊用例。1、whereHas有时在模型关联中会碰到需要跨模型判断条件来获取数据的情况,比如存在两张表 users 和 roles ,需要获取角色为 viki 的用户。在模型关联时,官方已经提供了方法 whereHas,实际上最好还是去查看一下 laravel源码 会更容易理解,助手函数示例如下: /** * Add a relationship count / exist
2022-09-28 12:14:32
2413
原创 nginx 反向代理以及 location /admin/
alias 关键字,在此处是通过 / 根目录访问静态网页。/admin 访问 php 项目,此处由于原 laravel 项目域名路由已经定义 admin 路径冲突,只能使用反向代理配置。这种情况应该是适用于 php 项目已有 /admin 子目录时且已经是适配 /admin 的路由,或者是类似 /api 的路由配置,才可以进行目录跳转适配。否则产生错误404。即反向代理用户多个不同的项目部署于一个域名下。alias 用于项目(多个)下的多个模块区分,比如 前后端、api 分离 的路由指定。在做 http
2022-06-07 10:54:28
3598
原创 composer -vvv 命令
composer -vvv 命令在使用 composer 引入扩展包时,碰到一条比较特殊的命令,如下:$ composer require antcool/easy-lark -vvv粗略一看,多了一个特殊参数,立马调用以下语句查看:$ composer -hOptions:-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose out
2022-05-10 14:59:24
3281
原创 nginx gzip 压缩配置
nginx gzip 压缩配置直接使用如下:gzip on;gzip_min_length 1k;# gzip_disable "msie6";gzip_comp_level 4;gzip_buffers 4 16k; gzip_http_version 1.1;gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss
2021-08-08 16:56:51
1137
原创 linux【centos 7】 yum 安装 tesseract 4.1
linux【centos 7】 yum 安装 tesseract 4.1tesseract 作为 ocr 识别引擎,在 php (当然别的语言也行,例如:python)爬虫中用处巨大,例如:自动识别验证码。首先可以通过 官网github 安装,自己源码编译,不过需要安装各种依赖,也容易出错,这里使用官方包管理器 yum 简化操作。yum 本身自带的版本是 版本 3 ,过于老旧,很多 API 接口都不试用[root@iZbp115r5t4hzamv0snvm1Z cim]# tesseract -v
2021-08-08 16:52:44
2245
原创 yum-config-manager 命令找不到的解决方法
yum-config-manager 命令找不到的解决方法如果不理解该命令,可以先去了解:yum 仓库管理 yum-config-manager在使用该命令的时候碰到以下问题:[root@iZbp115r5t4hzamv0snvm1Z cim]# yum-config-manager --add-repo https://download.opensuse.org/repositories/home:/Alexander_Pozdnyakov/CentOS_7/-bash: yum-config-m
2021-08-08 16:33:53
4692
原创 yum 仓库管理 yum-config-manager
yum-config-manager 命令找不到的解决方法yum-config-manager 是 yum 仓库管理命令yum-config-manager命令的本质是对/etc/yum.repos.d/(库数据的储存位置)文件夹下文件的增删查改,推荐使用yum-config-manager命令进行改动。yum-config-manager命令对资源库进行管理。[root@iZbp115r5t4hzamv0snvm1Z cim]# yum search tesseractLoaded plug
2021-08-08 16:20:40
10165
原创 php 时间日期简单处理,获取当天,昨天,本月,上月
//当天开始结束时间 $nowTime = date('Y-m-d', time()); $todayStart = strtotime($nowTime . ' 00:00:00'); $todayEnd = strtotime($nowTime . ' 23:59:59'); //昨天开始结束时间 $formerTime = date('Y-m-d', strtotime("-1 day")); $for..
2021-07-04 10:55:38
380
原创 thinkphp5 order 排序数据有 null 的情况处理
$order . ’ is null,’ . $order/*** 获取全部菜单* @param string typetree获取树形结构level获取层级结构∗@returnarray结构数据∗/publicfunctiongetTreeData(type tree获取树形结构 level获取层级结构 * @return array 结构数据 */ public function getTreeData(typetree获取树形结构level获取层级结构∗
2021-07-04 10:52:21
861
原创 php 按照指定的键值排序数组
/** * 二维数组按照指定的键值进行排序 * @param array $records 数据集 * @param string $field 指定排序的字段 * @param false $reverse 升序降序 {true:升序 | false:降序} * @return array */ function array_sort_by(array $records, string $field, $reverse = fal...
2020-12-26 16:39:08
693
原创 thinkphp5 postman 上传单文件以及多文件
tp5:name要为数组,才能接收 pestman:files[]array(2) {[0] => object(think\File)#17 (13) {[“error”:“think\File”:private] => string(0) “”[“filename”:protected] => string(25) “D:\wamp64\tmp\php7672.tmp”[“saveName”:protected] => NULL[“rule”:protected
2020-10-08 13:56:19
629
原创 php == 符号比较时产生的问题 ==> 类型转换
https://blog.youkuaiyun.com/weixin_34399060/article/details/92002060https://www.cnblogs.com/beenupper/p/12635779.htmlhttps://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=php%20%E6%95%B4%E6%95%B00%20%3D%3D%20%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B
2020-10-08 13:13:01
218
原创 php csv以及excel文件格式读取数据的处理
/*** 上传运费模板* @return array|false*/public function upload(){$filesArr = [];$validate = [‘ext’ => ‘xls,xlsx,csv’];$move = ‘…/data/runtime/feetempletfiles’;files=request()−>file(′files′);if(isobject(files = request()->file('files');
2020-10-08 12:50:05
394
原创 php 深层多维数组转换为一位数组
/**深层多维数组转换为一位数组,并保留键名@param array $arr 多维数组@return array*/function deep_multi_to_single(array $arr){result=[];arraywalkrecursive(result = []; array_walk_recursive(result=[];arraywalkrecursive(arr, function ($value, KaTeX parse error: Expected '
2020-09-26 15:55:23
255
原创 PHPstorm xdebug 使用问题
PHPstorm xdebug 的使用问题在使用 xdebug 功能单步调试时,碰到了一些问题,特在此记录一下。快捷键 F8 无法使用,这是由于有道词典热键冲突,需要进行修改或者关闭热键功能。由于 debug 项目配置映射 等相关错误, PHPstorm 编辑器右下角提示时不小心开了 Break at first line in PHP scripts ,导致 debug 断点总是从第一步开始,这个对于阅读源码或者新项目很有用处,但并不是每次都需要。关闭方法: Run > Break a
2020-09-19 21:00:13
417
原创 Xdebug + Postman 调试环境配置
Xdebug + Postman 调试环境配置一般 phper 可能的使用环境会配置成 PhpStorm + Xdebug + Postman 调试环境配置。如果已经了解过 PhpStorm + Xdebug 的配置,会发现比较普遍使用的请求工具可能是 Chrome 谷歌游览器 ,一般会装 xdubug helper 插件 进行监听请求。不过 postman 可以利用 cookie 来进行监听请求。开启 postman 的 phpstorm 调试功能大致如下:一般会在配置文件 php.ini 的
2020-08-23 13:54:37
2276
1
原创 git 忽视修改过的文件
git 忽视修改过的文件如果是 tracked 过的修改文件,单纯使用 .gitignore 文件是无法处理的。这种情况下,可以使用 git 命令。一般使用 git status 命令可以查看文件的状态。如果 添加需要忽视的修改文件 ,使用如下命令:$ git update-index --assume-unchanged <files> //注意:此处 <file> 为目录文件,实际使用时忽略书名号之后使用 git status 命令便查看不到该文件。如果要 取消忽视
2020-08-17 18:36:04
474
原创 laravel搭建开发环境homestead时添加vagrant box错误:OpenSSL SSL_read: Connection was reset, errno 10054
laravel搭建开发环境homestead时添加vagrant box错误:OpenSSL SSL_read: Connection was reset, errno 10054搭建 laravel 官方的开发环境 homestead ,当执行添加 vagrant box 的时候提示以下错误:An error occurred while downloading the remote file. The errormessage, if any, is reproduced below. Pleas
2020-07-13 12:33:01
658
原创 关于 RESTful 幂等性,尤其是PUT,PATCH和DELETE
关于 RESTful 幂等性查找 restful 的相关资料时,会产生这样一个疑问?HTTP MethodIdempotentSafeOPTIONSyesyesHEADyesyesGETyesyesPOSTnonoPUTyesnoPATCHnonoDELETEyesno为什么put和delete是幂等,而patch则是非幂等的?\color{red}{为什么 put 和 delete 是幂等,而 patch 则是
2020-07-05 19:23:09
3787
1
原创 RESTful API http 动词含义
RESTful API http 动词含义REST就是一种定义对互联网软件的架构原则,即Representational State Transfer的缩写。可翻译为“表现层状态转化”。“表现层”其实指的就是“资源”(Resources)的“表现层”。所以,其核心就是 面向资源编程 。http 动词含义GET(SELECT):从服务器取出资源(一项或多项)。POST(CREATE):在服务器新建一个资源。PUT(UPDATE):在服务器更新资源【全部】(客户
2020-07-04 20:07:34
398
原创 递归删除该目录和该目录下的所有文件、目录
递归删除该目录和该目录下的所有文件、目录/** * 递归删除该目录和该目录下的所有文件、目录 * @param string $dirName 目录 * @return bool */function delDirAndFile($dirName){ if (is_dir($dirName)) { if ($handle = opendir("$dirName")) { while (false !== ($item = readdir($han
2020-06-02 16:03:23
214
原创 php 自动判断系统环境为linux或者windows并编码转换
php 自动判断系统环境为linux或者windows并编码转换/** * 自动判断系统并编码转换 * @param $mixed * @return array|false|string */function code_conversion($mixed){ //php为7.1以上的版本,无需手动转换,php内部已经建立自动转换处理机制 if (version_compare(PHP_VERSION, '7.1') === -1) { if (strtoupper(
2020-06-02 15:54:04
425
原创 过滤所有的空白字符、空格、全角空格、换行等,自定义函数
@TOC/** * 过滤所有的空白字符(空格、全角空格、换行等) * @param string $str 要过滤的字符串 * @return mixed */function myTrim($str){// $search = [" ", " ", "\n", "\r", "\t", ":", ",", ";", ".", "。", "/"]; $replace = [":", ":", ":", ":", ":", ":", ":", ":", ":", ":", ":"
2020-06-02 15:13:11
834
原创 windows 环境下多个版本 php 下使用 composer 冲突问题
windows 环境下多个版本 php 下使用 composer 冲突问题在尝试安装 FastAdmin 时,碰到了以下问题:win10@win10 MINGW64 /e/PhpStudy20180211/PHPTutorial/WWW/fastadmin (master)$ composer installLoading composer repositories with package informationUpdating dependencies (including require-d
2020-05-25 16:55:26
1169
原创 php 文件夹文件拷贝和复制
php 文件夹文件拷贝和复制/** * 文件夹文件(深)拷贝 * @param string $src 来源文件夹 * @param string $dst 目的地文件夹 * @return bool */function recursive_dir_copy($src, $dst){ if (empty($src) || empty($dst)) { return false; } $dir = opendir($src); dir_mk
2020-05-21 14:10:52
848
原创 PHP 遍历目录下的文件夹和文件以及遍历文件下内容
PHP 遍历目录下的文件夹和文件以及遍历文件下内容PHP 遍历目录下的文件夹和文件:/** * 获取文件夹目录下的文件内容 * @param string $dir 文件目录 * @return array */function gain_dir_filename($dir){ $dirStream = []; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($filena
2020-05-21 11:38:57
738
原创 windows 环境下 PHPstorm 安装 PHP-CS-Fixer 及使用说明
windows 环境下 PHPstorm 安装 PHP-CS-Fixer 及使用说明PHP-CS-Fixer 官方 github 网站:https://github.com/FriendsOfPHP/PHP-CS-Fixer官方文档安装已经有了详细的说明,这里我们采用 composer 的方式安装。composer 中引入 PHP-CS-Fixer 。$ composer global require friendsofphp/php-cs-fixer这是全局安装, composer 会自动
2020-05-20 17:14:17
2257
原创 configure: error: Package requirements (libcurl 大于等于 7.1) were not met: No package libcurl found
configure: error: Package requirements [libcurl >= 7.15.5] were not met: No package 'libcurl' found在 Linux-CentOS 环境下源码编译的 php 安装动态扩展 中,产生了 libcurl 库缺失的问题。首先使用 yum search libcurl 查找 libcurl 库。[centos@localhost php-7.4.5]$ yum search libcurl已加载插件:fa
2020-05-18 18:09:25
9404
原创 Linux-CentOS 环境下源码编译php
Linux-CentOS 环境下源码编译phpphp 官方网站:https://www.php.net/php 官方下载网址:https://www.php.net/downloads先根据你的需要去 php 官网下载相对应的版本,这是准备安装的源码文件,这里以 php 7.4.5 版本为例。[centos@localhost ~]$ wget https://www.php.net/distributions/php-7.4.5.tar.gz[centos@localhost ~]$ tar -
2020-05-15 10:28:36
289
原创 Linux 源码编译 php 遇到缺失 No package oniguruma found 问题
Linux 源码编译 php 遇到缺失 No package 'oniguruma' found 问题oniguruma 是什么?oniguruma 是一个处理正则表达式的库,我们之所以需要安装它,是因为在安装 php 7.4 及其以上版本的过程中,mbstring 的正则表达式处理功能对这个包有依赖性,所以我们要先安装这个库首先通过 yum search oniguruma 命令对应的缺失库,发现还未收录,因而采用源码编译的方式。oniguruma github官方网站:https://git
2020-05-14 18:35:22
3614
原创 Linux 源码编译 php 遇到缺失 No package sqlite3 found 问题
Linux 源码编译 php 遇到缺失 No package 'sqlite3' found 问题先查找 sqlite 库:[centos@localhost php-7.4.5]$ yum search sqlite已加载插件:fastestmirror, langpacksRepository base is listed more than once in the configurationRepository updates is listed more than once in the
2020-05-14 17:54:04
5719
原创 windows 下 nginx 多代理配置,便于 php 多进程调试
windows 下 nginx 多代理配置,便于 php 多进程调试linux 下使用的是 php-fpm ,而 windows下使用的是 fastcgi ,它不会自动去启动 fastcgi 进程,所以只能排队等待。因此使用用 curl 去 post 本地文件或者数据时,就会形成堵塞。但这个情况在 Apache 服务器下则不会产生。在 windows 下开发调试时只能手动建立 fastcgi ...
2020-05-08 17:22:46
437
原创 PostgreSQL 每天定时备份本机数据库脚本
PostgreSQL 每天定时备份本机数据库脚本一般后端开发时,有可能因为各种各样的原因造成 最新 数据库 丢失 的问题,假如又刚好忘记了备份,那内心是相当绝望的。所以,数据库的自动备份必须的,比较好的办法可以借助语言的框架系统进行备份,比如利用 TP5 框架针对 MYSQL 数据库的备份。这里则主要可以利用系统自带的 定时任务 做一个每天定时自动备份的脚本,这种方法属于比较 古老 的了,...
2020-05-08 16:36:54
1605
原创 nginx 部署 vue 项目代码注释说明
nginx 部署 vue 项目代码注释说明代码注释说明如下,做个记录以备以后参考需要:server { listen 80; server_name 127.0.0.1; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header ...
2020-05-07 10:38:22
246
原创 vue 项目在 nginx 非根目录下部署时访问404的问题
vue 项目在 nginx 非根目录下部署时访问404的问题当 vue 打包时,如果项目路径不是部署在根目录下时,比如部署在 /new 目录下。这种情况下,使用 简单部署 的方法进行部署会产生 404 错误,即无法找到相关资源,比如静态资源。前端打包配置时部分代码示例如下:// 项目部署基础// 默认情况下,我们假设你的应用将被部署在域的根目录下,// 例如:https://www.my-...
2020-05-07 10:24:50
2290
1
原创 vue 文件 vue.config.js 的部分注释说明
vue 文件 vue.config.js 的部分注释说明代码注释说明如下,做个记录以备以后参考需要:const path = require('path')const resolve = dir => { return path.join(__dirname, dir)}// 项目部署基础// 默认情况下,我们假设你的应用将被部署在域的根目录下,// 例如:https:...
2020-05-06 18:02:11
697
原创 nginx 部署 vue 项目(简单部署)
nginx 部署 vue 项目(简单部署)在开发时,可能会碰到前端繁忙,后端自己搭建页面测试的情况。这里记录一下部署步骤。简单部署是指 vuejs 应用都是在 nginx 的 location 为 / 下直接部署。即这里暂时先不考虑前端 vue 设置了 Router 。 vue.config.js 文件部分代码 示例如下:// 项目部署基础// 默认情况下,我们假设你的应用将被部署在域的...
2020-05-06 17:43:29
536
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人