PHP
Homelam
这个作者很懒,什么都没留下…
展开
-
mac 下利用apache服务器配置项目站点
1.第一种方法,你需要创建自己的站点目录:~/Sites(没有则创建该文件夹),完成之后,在终端运行“sudo vi /etc/apache2/httpd.conf”,打开Apache的配置文件在httpd.conf中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,保存并退出。运行“sudo apachectl ...原创 2018-03-29 19:18:52 · 1043 阅读 · 0 评论 -
利用laradock添加phpsop扩展提示:Package 'php-soap' has no installation candidate
Info:Docker version: 18.03.0-ce-mac60 (23751)Laradock commit: 0c41fce:System info (Mac, PC, Linux): MacSystem info disto/version: 10.13.4Issue:.envWORKSPACE_INSTALL_SOAP=truePHP_FPM_INSTALL_SOAP=true...原创 2018-05-16 14:46:16 · 1522 阅读 · 0 评论 -
nginx 与 apache 的区别
1、nginx比apache 占用更少的内存及资源2、抗并发-----nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能3、apache少bug ,nginx 的bug 相对较多 4、nginx运行效率高,占用资源少,代理功能强大,很适合做前端响应服务器5、Apache在处理动态有优势,Nginx并发性比较好,CPU内存占用低Apach...原创 2018-05-16 15:43:26 · 180 阅读 · 0 评论 -
(Nginx+Apache)实现反向代理与负载均衡
反向代理负载均衡使用代理服务器可以将请求转发给内部的Web服务器,使用这种加速模式显然可以提升静态网页的访问速度。因此也可以考虑使用这种技术,让代理服务器将请求均匀转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web 服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。1、概念...转载 2018-05-24 10:17:08 · 1585 阅读 · 0 评论 -
如何在laravel5 中使用queue队列
如何在laravel5 中使用queue队列Laravel Queue是延迟处理应用程序中耗时任务的有效方法。此类任务的示例可能包括每当新用户在您的应用程序中注册或通过社交媒体分享帖子时发送验证电子邮件。Laravel队列有助于延迟这些任务,从而提高Web应用程序向您的应用程序的速度。实例说明我们将构建一个简单的博客应用程序,允许您提交帖子并在创建新帖子时发送电子邮件。我们将利用队...原创 2018-06-12 12:01:12 · 15409 阅读 · 4 评论 -
利用PHP递归算法实现汉诺塔
利用PHP实现 汉诺塔汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。简而言之,有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大...原创 2018-06-11 10:42:40 · 1020 阅读 · 0 评论 -
php自定义函数生成笛卡尔积的方法
php自定义函数生成笛卡尔积的方法多个数组之间元素的排列组合:代码示例<?php $color = array('red', 'green'); $size = array(39, 40, 41); $local = array('beijing', 'shanghai'); echo "<pre>"; print_r(combineDik...原创 2018-08-08 09:53:31 · 354 阅读 · 0 评论 -
支付宝开发扫描生成的付款二维码提示:码已失效怎么办?
问题描述:开发过程中集成支付宝支付是扫描生成的二维码提示:二维码失效?最近在做支付宝电脑网站支付开发时,使用官方sdk运行后,扫描生成的付款二维码提示:码已失效,请刷新二维码后重试。导致这种错误的原因是我们使用了正式环境的支付宝APP扫描的沙箱环境下的付款二维码 解决办法: 就是使用沙箱版本的支付宝APP扫描或者使用沙箱版本的支付宝账号密码登录付款即可。...原创 2018-08-08 09:57:02 · 16356 阅读 · 0 评论 -
SHOP 项目
SHOP 项目项目Github主要包括了一下几部分功能:SHOP 项目项目概述项目需求准备分析基础布局页面布局辅助函数文件注册与登录用户注册验证邮箱自定义处理异常用户收货地址数据库结构新建收货地址优化交互检查权限商城后台安装laravel-admin用户列表管理员权限设置:新建角色:新增管理后台用户商品的数据结构数据表...原创 2018-08-15 17:24:48 · 1160 阅读 · 0 评论 -
Ubuntu Supervior配置
问题描述:最近搞了一个laravel商城项目在外网服务器上,下单或者评论时会有队列任务,php artisan queue:work 是在终端启动,然后如果关闭了终端窗口,事件就失效了。在生产环境中的解决方法Supervisor 配置安装 SupervisorSupervisor 是一个 Linux 操作系统上的进程监控软件,它会在 queue:listen 或 queue:w...原创 2018-08-15 18:30:27 · 662 阅读 · 0 评论 -
Composer中的Tilde和插入符号版本限制
Composer中的Tilde和插入符号版本限制使用(composer)作曲家越多,你就会越多地看到这不是所要求的模块/包或作曲家的实际问题,关于安装packagist包是,关于版本控制的符号:安装依赖项时,我们习惯于安装一个遵循已知公共接口的版本并执行它所承诺的版本。这样我们就可以安全地在代码中使用它。依赖关系可以改变而不会破坏向后兼容性。然后,新版本将具有更大的版本号(xy),具体...原创 2018-08-23 14:12:11 · 264 阅读 · 0 评论 -
用 Visual Studio Code 调试运行在 homestead 环境中的 laravel 程序
用 Visual Studio Code 调试运行在 homestead 环境中的 laravel 程序本文为您介绍用 Visual Studio Code 调试运行在 homestead 环境中的 laravel 程序的相关介绍,具体实例请看下文##安装vscode、Virtual Box5.1以及Vagrant,所有的这些软件包都为常用的操作系统提供了一个便于使用的可视化安装器,通过安装界...原创 2018-09-19 09:58:21 · 733 阅读 · 0 评论 -
内网访问Homestead站点
利用局域网访问homestead虚拟站点设置 Homestead 服务器为可被局域网内的其他设备访问,可以非常方便地测试移动端浏览效果,同时也可以把页面分享给团队的其他成员浏览。步骤第一步:修改脚本文件, ~\Homestead\scripts\homestead.rb,允许局域网中的其他设备可以访问虚拟住居,将config.vm.network属性的值private_network修改为p...原创 2018-10-10 17:26:00 · 2632 阅读 · 0 评论 -
Mysql按周、按月、按日、按年、按小时分组统计数据
Mysql按周、按月、按日、按年、按小时分组统计数据你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。首先,利用的函数以及参数说明:格式:如果date是 2018-10-10这样的格式:DATE_FORMAT(date, format)如果date是一个时间戳:F...原创 2018-11-06 17:57:06 · 1056 阅读 · 0 评论 -
laravel实现按月、按天、按小时统计mysql的数据
利用mysql 的条件统计要实现获取下图曲线图数据(ps:当然也可能是柱状图等,数据都是一样的),默认获取七天内的数据,点击今天,7天,15天,30天可任意切换,其中今天是按小时统计.1. 控制器/** * [getsellerdata 获取某时间段内商户结算查询数据] * @param Request $request [description] start:起始时间 end:结束...原创 2018-11-06 18:19:16 · 5437 阅读 · 0 评论 -
在laravel中 setCollection 和getCollection具体是怎么用的?
在一个laravel的项目中,用到了 setCollection 和 getCollection 方法,在官方的文档找不到其用法?直接上代码:$result = Category::query() ->where('is_directory', true) ->where('name', 'like', '%' . $search ....原创 2019-01-29 09:50:00 · 2421 阅读 · 0 评论 -
在laravel利用联合查询时两个数据表按照某一字段排序
在laravel利用联合查询时两个数据表按照某一字段排序在项目中需要把两个表的数据按照时间进行排序,需要利用mysql的两个查询代码:$tourist = Tourist::query() -&gt;select('id', 'name as customer_name', 'created_at as time', DB::raw("2 as type, 0 as ...原创 2019-03-15 09:47:55 · 4871 阅读 · 0 评论 -
关于php switch中的一些坑
coding in php中的一些坑:以下switch会输出什么结果?乍一看 应该是进入第一个case 其实不然 switch 匹配的是case中表达式的值 不能把case当if用这里第一行case ($a >= 0)0>=0 这个条件表达式 的值为 true switch($key) 中传过来的是 00和true 匹配 当然匹配不上。 下面几行都是false第二行 0 和false就...原创 2018-05-22 17:21:13 · 7585 阅读 · 2 评论 -
PHP7.0,PHP7.1.x新特性
PHP7.1.x新特性风.fox1.可为空(Nullable)类型类型现在允许为空,当启用这个特性时,传入的参数或者函数返回的结果要么是给定的类型,要么是 null 。可以通过在类型前面加上一个问号来使之成为可为空的。function test(?string $name){ var_dump($name);}1234以上例程会输出:string(5) "tpunt"NULLUnc...原创 2018-05-21 17:58:36 · 320 阅读 · 0 评论 -
PHP利用经纬度计算两点之间的距离(两种方法)
/** * @param $lat1 * @param $lng1 * @param $lat2 * @param $lng2 * @return int */function getDistance($lat1, $lng1, $lat2, $lng2){ // 将角度转为狐度 $radLat1 = deg2rad($lat1);// deg2rad()函数将...转载 2018-03-26 17:12:28 · 9998 阅读 · 1 评论 -
Mysql优化笔记
1. MyISAM 和 InnoDB 存储引擎特点 ① MyISAM 表结构,数据,索引分别有对应的存储文件 写入数据快,按照自然顺序写入数据 数据稳定后可以压缩数据信息 支持全文索引 并发性: 较低,锁表操作 ② InnoDB: 表结构有单独的存储文件,数据和索引共享统一个存储文件(ibdata1、*....原创 2018-04-15 17:41:07 · 174 阅读 · 0 评论 -
Mysql的三范式设计
在使用Mysql数据库进行数据表设计时,需要明确什么是反范式设计?常用的反范式设计有哪些?一、Mysql数据表的三范式设计后一个范式都是在满足前一个范式的基础上建立的.1NF:无重复的列.表中的每一列都是不可分割的基本数据项.不满足1NF的数据库不是关系数据库. 例如:联系人表(姓名,电话),一个联系人有家庭电话和公司电话,则不符合1NF,应拆分为(姓名,家庭电话,公司电话). 原子性...原创 2018-04-16 11:15:55 · 367 阅读 · 0 评论 -
mac 利用brew技术安装php本地开发环境
1. mac系统自带的php版本为5.6, 利用brew升级为php7.0 如果你原来使用过brew安装php的话,先使用brew unlink php56php56即(php5.6版本),如果你使用的是mac自带的php,可以忽略该命令。接下来安装php7.0brew install php70 --with-gmp --with-httpd --with-debug --with...原创 2018-03-29 19:07:45 · 8234 阅读 · 0 评论 -
Tp5集成支付宝官方SDK
一、去官方下载SDK把下载的文件解压缩:把sdk放进thinkphp5中具体实现(举例): // 注意: 如果是需要兼容微信浏览器调用支付宝支付需要修改一下地方待完善。。。...原创 2018-04-13 09:50:40 · 6792 阅读 · 0 评论 -
ECJIA集成Alidayu短信服务(使用官方提供的php版SDK)
一、在阿里云下载短信服务的SDK(php版)二、把对应的SDK丢上packagist上,使用composer安装对应的包 详情:https://blog.csdn.net/homelam/article/details/80006520三、代码编写: ① 在content > plugins 目录下新建文件夹 sms_dayu 存放对应的插件代码,创建对应的文件 ② 打开...原创 2018-04-19 15:36:49 · 789 阅读 · 1 评论 -
如何把SDK放在packagist上
一、在github新建一个项目二、登录packagist获取api token把拿到的值在github项目中配置把对应的代码推送到github上后,创建一个release:以alidayu为例:如果check没有报错,直接点解Submit后:如果在项目中需要用到直接使用composer require homelam/alidayu-php-sms-sdk...原创 2018-04-19 16:39:00 · 360 阅读 · 0 评论 -
域名地址跳转
应用场景:网站升级时,由旧域名升级使用新域名。但是老用户还习惯使用旧域名,我们要自动帮用户跳转到新的域名去。举例: 用户访问:http://web.a1.com/sun/a.php 真是指向地址: http://web.bb.com/sun/a.php.htaccess文件隐藏index.php 入口文件...原创 2018-04-19 18:08:25 · 4355 阅读 · 0 评论 -
ECJIA订单号生成
/** * 得到新订单号 * @return string */function get_order_sn(){ /* 选择一个随机的方案 */ mt_srand((double) microtime() * 1000000); return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);}...原创 2018-05-02 10:56:19 · 212 阅读 · 0 评论 -
Laravel 第一次运行出现 No application encryption key has been specified.
如果直接报500错误:若文件根目录下没有 .env1、.env.example 改名使用命令 copy 修改为 .env2、使用命令 php artisan key:generate 获取密码,自动保存到 .env3、【将密码复制到config/app.php 中的key里面】如果.env文件里面有该配置项,可以忽略4、重新运行,OK。如有.env 的情况,直接进行第二步。两种情况皆无,请重新安...原创 2018-05-03 10:39:56 · 839 阅读 · 0 评论 -
php经典的5大设计模式
一、 单例模式单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new建立实例对象的方法。单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式有以下3个特点:1.只能有一个实例。2.必须自行创建这个实例。3.必须给其他对象提供这一实例。PHP一个主要应用场合就是应用程序与数据库打交道的场景,在一个应用中会存在大量的数据库操作,针对数据库句柄...原创 2018-05-03 14:17:43 · 1231 阅读 · 0 评论 -
PHP常见的几种排序
一、冒泡排序排序原理:对一组数据,比较相邻数据的大小,把小的数据放在前面,值大的放在后面(升序排序)举例说明: $arr = [6, 3, 8, 2, 9, 1];第一轮排序:第一次比较 6和3比较: 3 6 8 2 9 1 第二次比较 6和8比较: 3 6 8 2 9 1 第三次比较 8和2比较: 3 6 2 8 9 1 第四次比...原创 2018-04-29 14:40:37 · 5332 阅读 · 0 评论 -
Laradock 搭建基于 Docker 的 PHP 开发环境
Docker 是什么Docker 基于 Go 语言开发,是一个基于 LXC 技术之上构建的 Container 容器引擎。容器是一种以固定格式打包软件的方式,以便让软件可以在共享的操作系统中运行,不同于虚拟机,容器并不需要捆绑这个操作系统,只需要软件正常工作所必须的库和设置即可,这使得容器更加高效、轻量级、可以自成系统并且不管部署在什么地方都可以保证运行结果一致。Docker提供了一种在安全、可重...原创 2018-05-07 20:11:25 · 1901 阅读 · 0 评论 -
php常见的web攻击
一、SQL注入攻击(SQL Injection)攻击者把SQL命令插入到Web表单的输入域或页面请求的字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如:1.某个Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名...原创 2018-05-15 09:46:02 · 1544 阅读 · 0 评论 -
laravel框架容器管理的一些要点
本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点。文章很长,但是内容应该很有用,希望有需要的朋友能看到。php经验有限,不到位的地方,欢迎帮忙指正。1. laravel容器基本认识laravel框架是有一个容器框架,框架应用程序的实例就是一个超大的容器,这个实例在bootstrap/app.php内进行初始化:这个文件在每一次请求到达laravel...原创 2018-05-15 09:53:57 · 534 阅读 · 0 评论 -
Mysql日期差函数,Mysql选择两个日期字段相差大于或小于一定时间
SELECT * from table where TIMESTAMPDIFF(type,pretime,latertime)>100TIMESTAMPDIFF函数,需要三个参数,type是比较的类型,可以比较FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR几种类型,pretime是前一个时间,比较时用后...原创 2019-03-18 18:31:03 · 10688 阅读 · 0 评论