
php
文章平均质量分 52
张富江
不忘初心,方能始终。
展开
-
mac 安装 Composer
mac下直接用命令行模式下载Composer使用 curl 指令下载:curl -sS https://getcomposer.org/installer | php或是沒有安裝 curl ,也可以用 php 指令下载:php -r "readfile('https://getcomposer.org/installer');" | php手动下载Composer地址:https://getcomposer.org/composer.phar当你下载了 composer.pha原创 2021-01-21 17:20:29 · 318 阅读 · 0 评论 -
解决php 上传图片造成内存溢出(Allowed memory size)
图片上传,是网站开发常见的需求。通常来讲就是用户上传图片啊,完事后台进行处理。比如什么压缩啊,剪裁啊,生成缩略图啊什么的。在这个过程中我们有时候会遇到一个很奇怪的错误,那就是Allowed memory size。。。等等一串。好吧,大家都知道,这是内存溢出了。完事我们修改 php.ini配置文件中的相关参数来解决,成效很明显,大部分情况下我们完事了,成功了。但是不知道大家注意没,它默认的上传限制不算太小,就按着64M来说吧。我们有时候上传个三四M的图片就会造成内存溢出。这是为什呢???...原创 2020-05-29 10:11:54 · 1712 阅读 · 0 评论 -
解析获取php.ini 的upload_max_filesize(单位:byte)
/** * 解析获取php.ini 的upload_max_filesize(单位:byte) * @param $dec int 小数位数 * @return float (单位:byte) * */function get_upload_max_filesize_byte($dec=2){ $max_size=ini_get('upload_max_filesize'); preg_match('/(^[0-9\.]+)(\w+)/',$max_size,$info); .原创 2020-05-28 22:08:00 · 829 阅读 · 1 评论 -
Supervisor 重新加载配置启动新的进程
一、添加好配置文件后二、更新新的配置到supervisord supervisorctlupdate三、重新启动配置中的所有程序supervisorctlreload四、启动某个进程(program_name=你配置中写的程序名称)supervisorctlstartprogram_name五、查看正在守候的进程supervisorctl六...原创 2020-03-16 11:45:16 · 292 阅读 · 0 评论 -
Redis 电商当中实际运用场景,还有其他实际运用请评论
1. 各种计数,商品维度计数和用户维度计数说起电商,肯定离不开商品,而附带商品有各种计数(喜欢数,评论数,鉴定数,浏览数,etc),Redis的命令都是原子性的,你可以轻松地利用INCR,DECR等命令来计数。 商品维度计数(喜欢数,评论数,鉴定数,浏览数,etc) 采用Redis 的类型:Hash. 如果你对redis数据类型不太熟悉,可以参考 http://redis.io/t...原创 2020-03-13 11:47:06 · 179 阅读 · 0 评论 -
MySQL 优化 sql 优化必知必会
有时候我们会遇到:在查询sql的时候,假如有100w条数据,会出现慢sql告警,这个时候你就应该到处sql日志来查找原因了。这里很有可能的主要原因就是没有命中索引和没有分页处理(原因有很多种,主要分析你的日志)。那接下来我们就得去优化sql了。如何优化呢?下面我们来谈谈有关的问题。一、从sql优化入手谈到sql性能优化,那我们就离不开谈到大数据量和并发数,MySQL没有限制单表的最大记...原创 2020-03-10 12:53:42 · 201 阅读 · 0 评论 -
如何实现简单的php socket通信
服务端代码server.php<?php/**socket通信整个过程socket_create //创建一个套接字socket_bind //给套接字绑定 ip 和端口socket_listen //监听套接字上的连接socket_accept //接受一个socket连接socket_read //接收客户端 发送的数据socket_write /...原创 2020-03-10 11:24:52 · 236 阅读 · 0 评论 -
nginx 配置 https 之 acme.sh生成
#生成文件acme.sh --issue -d xxx.xxx.cn --webroot /www/web/project/public/ #修改配置文件server { listen 80; server_name xxx.xxx.cn; rewrite ^(.*) https://$server_name$1 permanent;}...原创 2019-12-24 16:19:14 · 392 阅读 · 0 评论 -
php 计算两个时间差 两个时间日期相隔的天数,时,分,秒
function timediff( $begin_time, $end_time ){ if ( $begin_time < $end_time ) { $starttime = $begin_time; $endtime = $end_time; } else { $starttime = $end_time; $endtime = $begin...原创 2019-12-18 14:49:40 · 518 阅读 · 0 评论 -
php 全面手册
php 笔记https://www.kancloud.cn/xiak/php-node/504497swoole手册https://www.kancloud.cn/fage/swoole_extension/691318swoole入门手册https://www.kancloud.cn/thinkphp/swoole-doc/42080Chrome 开发者工具https...转载 2019-12-11 14:57:43 · 305 阅读 · 0 评论 -
php 调用拼多多接口方法 生成 sign方法
目录:方法一:方法二:方法一:function getSign($params, $client_secret) { if (is_array($params)) { ksort($params); $paramsStr = ''; array_walk($params, function ($item, $key) us...原创 2019-12-11 13:55:20 · 1933 阅读 · 1 评论 -
php负载均衡配置 及 nginx反向代理配置
目录需求配置步骤结果需求1.单台服务器满足不了当前业务量,用多台服务器来分流思路1.看图片架构,本文只讲述负载均衡部分,数据库和缓存部以后更新2.这3台web服务器怎么分配流量就靠前端的代理服务器来分配,load Balance配置步骤安装好nginx (自找资料,网上很多,本文用的环境是阿里云的一键安装sh-1.5.5环境) 找到nginx配置文件,...原创 2019-11-28 17:48:40 · 267 阅读 · 0 评论 -
laravel excel 导入大文件(异步) 需求导入十万条数据
文件目录控制器方法队列类Ipmorts 类控制器方法 public function batchEdit(Request $request) { if ($request->isMethod('get')) { return view('tools/batchEdit'); } else { ...原创 2019-11-15 19:07:42 · 3343 阅读 · 0 评论 -
laravel php 几十万数据导出excel 分批分页导出
目录需求问题解决需求导出几十万左右的数据导excel表问题使用phpexcel等插件,碰到数据量大很慢,可能能花半个小时以上 数据量大查询慢 内存不足 执行超时解决使用原生csv导出 设置脚本超时和内存,进行加大内存,不限制超时时间 进行分页查询 /** * 分批导出 * @param Request $request ...原创 2019-11-15 17:26:45 · 2852 阅读 · 3 评论 -
php laravel 下载远程图片
方法一:foreach ($images as $Imgkey => $Imgval){ $i++; $parse_url = parse_url($Imgval->url); $pathinfo = pathinfo($parse_url['path']); if(isset($pathinfo['basename']) &am...原创 2019-10-17 19:15:09 · 1807 阅读 · 0 评论 -
redis AOF文件过大
标redis AOF文件过大题最近新安装了一台redis,版本为redis-3.2.5数据盘用的是固态硬盘。之前用的是普通硬盘,redis日志天天报Asynchronous AOF fsync is taking too long (disk is busy?). Writing the AOF buffer without waiting for fsync to complete, this m原创 2017-08-08 17:08:43 · 2821 阅读 · 1 评论 -
laravel5.8 语言包
语言包控制config/app.php'locale' => 'en',语言包位置:resources/lang/cn/建立resources/lang/cn/common.php<?phpreturn [ 'success'=>'成功', 'fail'=>'失败'];控制器调用public function ...原创 2019-08-07 17:01:48 · 217 阅读 · 0 评论 -
laravel5.8 公共函数和常量设置
公共函数创建bootstrap/common.php<?php// 发送短信function sendSMS($mobile){}// 发送邮件function sendMail($mail){}// 密码生成function pass(){ return rand(100000,999999);}// 自定义打印数据if(!function_...原创 2019-08-07 17:07:38 · 489 阅读 · 0 评论 -
laravel5.8 数据库配置及操作(单库和多库)
数据库配置:根目录下/.env,单个数据库.env配置DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=shopDB_USERNAME=rootDB_PASSWORD=rootDB_PREFIX=ds_config/database.php'mysql' => [ ...原创 2019-08-07 17:25:44 · 397 阅读 · 0 评论 -
Laravel 5.8 基础组件 -- 中间件
简介中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制。例如,Laravel 内置了一个中间件来验证用户是否经过认证(如登录),如果用户没有经过认证,中间件会将用户重定向到登录页面,而如果用户已经经过认证,中间件就会允许请求继续往前进入下一步操作。当然,除了认证之外,中间件还可以被用来处理很多其它任务。比如:CORS 中间件可以用于为离开站点的响应添加合适的头(跨域);日志中间件可...原创 2019-08-07 17:44:28 · 260 阅读 · 0 评论 -
Laravel 自定义中间件 简单用户登录注册
Laravel 其实已经封装好了用户认证功能,但是有时我们想按自己想法操作一下,因此我就自己写了一个用户登陆注册的功能1. 用户表users然后在 config/auth.php 中将 providers 改为如下'providers' => [ 'users' => [ 'driver' => 'eloquent',...原创 2019-08-07 18:16:13 · 1266 阅读 · 1 评论 -
laravel 的orm 打印sql
dump($query->getBindings()); dump($query->toSql()); // $sql = $query->toSql(); $tmp = str_replace('?', '"'.'%s'.'"', $query->toSql()); $tmp = vsprintf($tmp, $query->getBindings(...原创 2019-08-07 18:23:52 · 615 阅读 · 0 评论 -
Laravel Eloquent ORM字段及时间处理
class User extends Model{ #以下属性和方法都不是必须的,但是一般都要按需求定义一些 //定义关联的表名,不定义的话默认此模型关联的表为 模型名s (users) protected $table = 'user'; /******字段相关*******/ #定义主键字段名,默认是id p...原创 2019-08-07 18:30:35 · 770 阅读 · 0 评论 -
Laravel 任务调度器及 完美配合supervisor
Laravel 任务调度器及 完美配合supervisor已经有很好的案例了,这里就不多说了:Laravel 的任务调度 (cron) 和队列一起使用制作采集器https://learnku.com/laravel/t/2133/the-laravel-task-scheduler-cron-and-the-queue-are-used-together-to-make-the-...转载 2019-08-30 11:20:46 · 1044 阅读 · 0 评论 -
curl 请求 - 封装的还可以,欢迎采用
/** * CURL请求 * * @param $url 请求的URL * @param array $postData POST请求数据 * @param bool $isSsl 是否是HTTPS协议 * @param int $timeOut 请求超时时间,默认3S * @param bool $post 是否post请求...原创 2019-09-12 15:06:08 · 127 阅读 · 0 评论 -
Laravel 自动事务及跳转友好提示
try{ DB::transaction(function () use ($orderParser, $json, $e_poi) { $order = $orderParser->parse($json); event(new OrderPushed($order, Carbon::now(), $...原创 2019-09-19 10:35:10 · 180 阅读 · 0 评论 -
laravel 操作redis数据库的数据类型(string、哈希、无序集合、list链表、有序集合)
一.基本使用public function RedisdDbOne() { // 清空Redis数据库 Redis::flushall(); // redis的string类型 Redis::set("laravel","Hello woshi laravel"); dump(Redis::g...转载 2019-09-20 14:49:19 · 539 阅读 · 0 评论 -
php 数组中指定位置插入指定元素或者指定数组
$array1 = array('a', 'b', 'c', 'd', 'e');$str = 'x';$n = '2';//插入元素到位置nif($n < 0){ if($n == '-1'){ array_push($array1, $str); }else{ $n = $n + 1 ; array_splice($arra...原创 2019-09-25 14:49:26 · 1367 阅读 · 0 评论 -
laravel5.8 Redis操作
Redis各种操作:**字符串操作**Redis::set('key','键值'); //键值对数据 field=>valueRedis::setnx('key','value'); // key存在,则不予修改。不存在则重建;set则是强制赋予和重建Redis::setex('library', 10, 'predis'); // 存储时效;redis是存在1...原创 2019-08-07 16:54:00 · 513 阅读 · 0 评论 -
Laravel——自定义命令command
今天做商城项目的时候,需要将用户的待付款订单一个小时后自动取消。那么这个操作,不可能是人为的,只能借助linux的cron来进行做定时任务了。整体思路:首先,在Order模型里写一个public方法,将查询到的半个小时之外还没付款的订单,将其状态全部改为 已取消的状态。其次,自定义命令,执行该方法。最后呢,就是将其命令注册到调度任务里自动执行即可。1.编写publ...原创 2019-08-07 11:24:54 · 1133 阅读 · 0 评论 -
分享如何使用PHP将URL地址参数进行加密传输提高网站安全性
大家在使用PHP进行GET或POST提交数据时,经常会在URL带着参数进行传递,比如www.mdaima.com/get.php?id=1&page=5,这里就将id编号和page页码进行了参数传递,如果这样直接明文传输,会将参数直接暴露给用户,要是是比较重要的数据这样传输我觉得还是不太安全。那如果将参数变成下面这样,是不是会好点呢? 1 www.mdaim...转载 2018-04-18 10:28:32 · 2742 阅读 · 0 评论 -
MYSQL分库分表和不停机更改表结构
在MYSQL分库分表中我们一般是基于数据量比较大的时间对mysql数据库一种优化的做法,下面我简单的介绍一下mysql分表与分库的简单做法。1、分库分表很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严重影响性能,分库与分表是一个很不错的解决途径,也就是性能优化途径,现在的案例是我们有一个1000多万条记录的用户表members,查询起来非常之慢,同事的做法是将其散列到100个表中...转载 2018-03-30 10:39:01 · 1377 阅读 · 0 评论 -
Nginx学习之如何防止流量攻击
使用场景最近,报告查询系统负载均衡集群相关配置已经完成,两种实现方式分别是基于Ehcache和Redis的session管理策略。最近,报告查询系统负载均衡集群相关配置已经完成,两种实现方式分别是基于Ehcache和Redis的session管理策略。如何使用Nginx实现基本的限流,比如单个IP限制每秒访问50次。通过Nginx限流模块,我们可以设置一旦并发连接数超过我们的设置,将返回5...转载 2018-02-08 18:38:38 · 426 阅读 · 0 评论 -
php 复制a.txt复制到b.txt,a.txt从第2行到10行复制到c.txt
php 复制a.txt复制到b.txt,a.txt从第2行到10行复制到c.txt<?php//把a.txt 文件的内容放到b.txt$res = file_put_contents('b.txt',file_get_contents('a.txt'));//把a.txt 从第2行到第10行放入c.txt$arr = explode(PHP_EOL,file_get_contents('a.tx原创 2017-07-27 09:48:35 · 617 阅读 · 3 评论 -
PHP excel导出
PHP excel导出转载 2017-07-26 14:56:46 · 354 阅读 · 0 评论 -
memcached 在windows下安装及启动
memcached 在windows下安装及启动Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。原创 2017-08-03 16:20:31 · 550 阅读 · 0 评论 -
TP搜索,分页(保留搜索条件)简单实现
TP搜索,分页(保留搜索条件)Controller层/控制器层/VoController.class.php<?php/** * @author xiaozhang * * @email 915752851@qq.com * * @information Vo grade */namespace Home\Controller;use Think\C原创 2017-07-21 11:24:06 · 3113 阅读 · 0 评论 -
php 去掉最大值,最小值,求出平均值(简洁代码)
php 去掉最大值,最小值,求出平均值(简洁代码)原创 2017-07-12 14:41:35 · 5892 阅读 · 0 评论 -
php 冒泡排序,选择排序、插入排序、快速排序
<?php/** @1. 冒泡排序 @2.选择排序 @3.插入排序 @4.快速排序原创 2017-07-12 10:27:32 · 450 阅读 · 0 评论 -
索引的优缺点
索引的优缺点1、优点:a)可以保证数据库表中每一行的数据的唯一性b)可以大大加快数据的索引速度c)加速表与表之间的连接,物别是在实现数据的参考完事性方面特别有意义d)在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间f)通过使用索引,可以在时间查询的过程中,使用优化隐藏器,提高系统的性能2、缺点:a)创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加b)原创 2017-07-12 10:02:11 · 616 阅读 · 0 评论