自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

转载 如何使用SSH登录远程服务器

一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统 ①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器一样我们可以选择在合适的时间将本地版本推送到统一的版本管理服务器 ②Git每次会提取整个代码仓库的完整镜像,相当于对整个代码仓库都进行了一次备份,这样计时版本服务器除了问题,我们可以直接采用本地仓库恢复!结合本地版本管理功能,远程版本管理服务器出问题了,我们依然能继续写自己的代码,当他恢复的时候我们再提交我们的本地版本! Git研发初期是为了更好的管理Linux内核,

2018-07-11 11:37:51 104989 2

转载 GROUP BY和HAVING

GROUP BY语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。select子句中的列名必须为分组列或列函数,列函数对于group by子句定义的每个组返回一个结果。某个员工信息表结构和数据如下: id name dept salary edlevel hiredate 1 张三 开发部 2000 3 2...

2018-07-06 09:09:37 38654 2

转载 mysql(多级分销)无限极数据库设计方法

相信有过开发经验的朋友都曾碰到过这样一个需求。假设你正在为一个新闻网站开发一个评论功能,读者可以评论原文甚至相互回复。  这个需求并不简单,相互回复会导致无限多的分支,无限多的祖先-后代关系。这是一种典型的递归关系数据。  对于这个问题,以下给出几个解决方案,各位客观可斟酌后选择。一、邻接表:依赖父节点  邻接表的方案如下(仅仅说明问题):123456CREATE TABLE Comments( ...

2018-06-28 16:04:48 27495 2

转载 Linux一键安装

1、使用putty或类似的SSH工具登陆VPS或服务器;登陆后运行:screen -S lnmp如果提示screen: command not found 命令不存在可以执行:yum install screen 或 apt-get install screen安装,详细内容参考screen教程。2、下载并安装LNMP一键安装包:您可以选择使用下载版(推荐美国及海外VPS或空间较小用户使用)或者完...

2018-06-14 14:48:10 4467

转载 PHP源码加密

今天在客户服务器上,安装产品的时候发现,客户的php源码是用ioncube加密的, 而我们使用的是zend guard,安装了zend optimizer后发现有冲突。。下面是网上看到的关于这两种加密工具的对比。 一、概述        PHP代码属于开源WEB代码,不需要编译,属于解释型语言。(即在WebServer中追加相应扩展名的解释程序即可完成对代码的分析处理)。根据PHP...

2018-11-02 11:18:01 5713

原创 git 生成公钥 使用命令行无需输入用户名密码(windows)

之前设置过一次,后来就忘记了,今天改完密码之后发现命令行clone时验证身份失败,重新设置公钥,记录一下1. 由于之前设置过公钥,所以不用输入用户名密码就可以执行git命令。现在密码变了,取消公钥,最简单就是直接删掉公钥,执行git命令的时候就会重新弹出用户名密码对话框。或者使用git config --global user.email 【email】重新设置邮箱,同样也会在使用命令行的时候...

2018-10-29 14:18:43 1369

转载 Linux20个常用命令

 玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决不少的问题。然而每个人玩Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux进行C/C++和shell程序编写的,所以常用到的命令可以就会跟一个管理L...

2018-10-23 15:16:33 296

转载 Redis实战总结-配置、持久化

Redis的配置主要放置在redis.conf,可以通过修改配置文件实现Redis许多特性,比如复制,持久化,集群等。redis.conf部分配置详解# 启动redis,显示加载配置redis.conf# ./redis-server /path/to/redis.conf# 停止redis# redis-cli -h IP -p PORT shutdown# 可以包含一个或...

2018-09-05 10:25:28 236

原创 PHP备份MYSQL数据库类

<?phpclass DbManage { var $db; // 数据库连接 var $database; // 所用数据库 var $sqldir; // 数据库备份文件夹 // 换行符 private $ds = "\n"; // 存储SQL的变量 public $sqlContent = ""; // 每条sql语句...

2018-07-24 17:24:34 381

转载 Git使用本地仓库之基本操作

一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统 ①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器一样我们可以选择在合适的时间将本地版本推送到统一的版本管理服务器 ②Git每次会提取整个代码仓库的完整镜像,相当于对整个代码仓库都进行了一次备份,这样计时版本服务器除了问题,我们可以直接采用本地仓库恢复!结合本地版本管理功能,远程版本管理服务器出问题了,我们依然能继续写自己的代码,当他恢复的时候我们再提交我们的本地版本! Git研发初期是为了更好的管理Linux内核,

2018-07-11 11:32:02 156

转载 ThinkPHP去重 distinct和group by总结

近期项目中,遇到数据表去重要求,对于ThinkPHP的去重有了更加准确的认识和体会。 两种去重方式:$test_data = M('hot'); //实例化数据表$data = $test_data->Distinct(true)->field('descriprion')->order('description desc')->select(); //利用disti...

2018-07-06 08:58:30 1707

转载 MySQL数据库操作类(PHP实现,支持连贯操作)

使用过ThinkPHP框架的同学可能会对于其中数据库模型操作特别有好感,ThinkPHP提供了数据库操作的简单的操作,对于连接数据库,数据库的增删改查等数据操作都非常的nice,同时支持连贯操作,对于那些不习惯写sql语句的同学真是大大的便利。(注:sql还是很重要的,不要因为用了框架就把原先的忘了)。 而在笔者使用php操作redis实现后台任务的过程中,也想要借助这种便利,但无奈redis操作...

2018-07-03 10:04:34 1255

转载 redis在PHP中的基本使用案例

利用phpredis实现php操作redis,需要进行redis.so的下载,添加//利用Redis类进行操作//实例化Redis类$redis = new Redis();//选择指定的redis数据库连接,默认端口号为6379$redis->connect('127.0.0.1', 6379);//普通set/get操作$redis->set(‘library’, ...

2018-07-03 10:02:39 201

转载 利用PHPExcel实现Excel文件的写入和读取

作为一个原本的JAVA党,用过PHP才知道,原来对于Excel文件的写入和读取原来可以这么简单! 利用PHP实现对于Excel的读取,主要借助于PHPExcel插件来完成。 PHPExcel下载地址:PHPExcel下载 一、PHPExcel实现写入excel操作步骤 首先需要引入类文件,引入PHPExcel.php文件。 1、新建一个Excel表格(实例化PHPExcel类) 2、创建sheet...

2018-07-03 10:01:02 5083

转载 基于原生PHP的路由分配实现

对于由原生PHP写成的独立PHP框架,利用单一入口文件实现路径的访问。这时我们会遇到的首要问题是:文件的相互包含,其次就是路由分配。当我们不利用成熟的PHP框架进行web开发时,我们就会发现上述两个问题会是很困扰我们的问题所在。 问题解决方案: 1、文件包含 php的文件包含有两种方式:require和include,两个方法的区别在于利用require包含文件当出错时,会报出严重错误,同时PHP...

2018-07-03 09:56:09 5013

转载 PHP开发接口使用RSA进行加密解密方法

     网络安全问题很重要,尤其是保证数据安全,遇到很多在写接口的程序员直接都是明文数据传输,在我看来这是很不专业的。本人提倡经过接口的数据都要进行加密解密之后进行使用。        这篇文章主要介绍使用PHP开发接口,数据实现RSA加密解密后使用,实例分析了PHP自定义RSA类实现加密与解密的技巧,非常具有实用价值,需要的朋友可以参考下。简单介绍RSA:        RSA加密算法是最常用...

2018-07-03 09:48:54 354

转载 PHP简单实现MVC框架路由功能模式

 说到使用PHP进行网站开发,自然离不开各种PHP的开发框架,开发框架为我们提供了灵活的开发方式,MVC层分离,业务解耦等等,让我们的开发更为快捷方便。但是很多人只是会使用框架,却从来不去了解框架的内部是如何实现的,这对于我们编程能力的提高是没有一点用处的。那么这一篇博文,我们就先来一个简单点的功能,也就是说说MVC框架的路由功能实现方法。        一般的单入口框架路由都是这样的结构:loc...

2018-07-03 09:42:04 394

转载 MySQL性能优化方案

可以从以下几个方面对MySQL进行优化, 效果: SQL和索引 > 数据库表结构 > 系统配置 > 硬件 但成本从低到高。1.SQL和索引优化1.1SQL1.1.1优化SQL语句的一般步骤:①通过show status 命令了解各种SQL的执行效率,show [session | global] status;1可以根据需要加上参数来显示session级(当前连接,默认)和glo...

2018-07-03 09:39:17 437

转载 PHP验证登录状态和安全性

固定的私钥来做salt其实不好,一旦私钥泄漏之后就很麻烦,而且最痛苦的其实是你不知道你到底有没有泄漏用户的密码字符串作为salt是更好的办法签名字符串:$sign = md5('$user_id+$user+_password[+浏览器UA[+IP地址[...]]]');里面爱加什么你可以自己发挥存储到cookie里面的字符串为$token = $user_id.','.$sign;然后你需要...

2018-07-03 09:36:03 3837

转载 PHP基础教程十四之使用MySqli操作数据库

前言在实际的开发中,PHP都是会和数据库一起使用的,因为在后台需要有太多的数据进行保存,而数据库就是一种很好的保存数据的地方,我们PHP开发用到的数据库是关系型数据库mysql,而PHP和mysql数据库只有连接,我们才能通过php代码对数据库进行操作。MySqliPHP的开发离不开数据库,而在PHP中可以通过MySQLi连接数据库的。但是MySQLi只能连接mysql数据库。同时mysqli是一...

2018-07-02 10:34:46 341

转载 PHP数据传输神器CURL详解

前言我们在使用PHP开发网站的后台的时候,有时候需要在PHP代码中请求某一个网页,比如在微信开发中,我们在代码中请求微信服务器地址,得到开发凭证access_token,这时候使用CURL来处理请求是最合适的。如果你想使用PHP来开发微信,那么CURL是一个必备的知识点。CURL的使用CURL基础在PHP中我们想要使用CURL,必须在PHP的配置文件中开启CURL扩展。curl支持的协议还是有很多...

2018-07-02 10:33:42 187

转载 PHP使用第三方即时获取物流动态

前言最近做的项目有个要求,要使用物流单号即时查询物流信息,从网上得知,关于物流的第三方API还是很多的,而我选用的是快递鸟,快递鸟是一个免费的第三方接口,Api整合全球400余家物流快递接口,永久免费不限次,接口与快递公司多通道通信,可用性达到99.9%以上,推送速度定制配置,保证接入方系统的稳定。使用过程登录网站http://www.kdniao.com/首先要注册,注册完之后,在用户管理后台,...

2018-07-02 10:29:35 1141

转载 PHP开发api接口安全验证

php的api接口在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道,请求的来源是什么,有可能是别人非法调用我们的接口,获取数据,因此就要使用安全验证。验证原理示意图原理从图中可以看得很清楚,前台想要调用接口,需要使用几个参数生成签名。时间戳:当前时间随机数:随机生成的...

2018-07-02 10:27:02 642

转载 Sphinx安装流程及配合PHP使用经验

1.什么是SphinxSphinx是俄罗斯人Andrew Aksyonoff开发的高性能全文搜索软件包,在GPL与商业协议双许可协议下发行。全文检索式指以文档的全部文本信息作为检索对象的一种信息检索技术。检索的对象有可能是文章的标题,也有可能是文章的作者,也有可能是文章的摘要或内容。常用于新闻,论坛评论等的模糊查询。2.Sphinx的特性高速索引(在新款CPU上,近10MB/S);高速搜索(2-4...

2018-07-02 10:17:54 385

原创 php的sso单点登录实现方法

1.首页登录页面index.php(是你当前项目首页)<?php header('Content-Type:text/html; charset=utf-8'); $sso_address = 'http://www.mysso.com/sso/login.php'; //你SSO所在的域名,不是当前项目地址 $callback_address = 'http://'.$_SER...

2018-07-02 10:01:48 278

原创 php必看技术干货

1、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的”函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。2、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。3、row[‘id′]的速度是row[‘id...

2018-07-02 09:53:04 1115

转载 navicat for mysql (10038)如何解决

解决方案一:1.#修改权限$:mysql -u root -p mysql>use mysql;mysql>grant all privileges on *.* to 'root'@'%' identified by 'youpassword' with grant option;mysql>flush privileges;123456解决方案二:2、修改/...

2018-06-29 18:18:06 955

转载 mysql远程连接错误10038--navicat for mysql (10038)

安装了MySQL 5.7数据库,然后在windows下通过Navicat for MySQL连接时,出现 Can't connect to mysql server on xxx.xxx.xxx.xxx(10038) 的问题。解决方案如下:1、授权mysql>grant all privileges on *.*  to  'root'@'%'  identified by 'youpass...

2018-06-29 18:15:09 1021

转载 Linux常用命令之定时任务

定时任务的实现,可以让我们把很多重复的,有规律的事情交给机器做。我们就不用苦逼的烦躁做同一件事,这样也让我们做程序的有更多的乐趣和价值。用技术的手段解决常人花时间精力解决的问题。在Linux下实现定时任务主要有两个命令:at、crontab。今天就详细的讲解下这两个常用的Linux命令。crontab命令被用来提交和管理用户的定时任务。当安装完成Linux系统,会自动启动crond进程。crond...

2018-06-28 15:44:51 345

转载 PHP __autoload自动加载机制详解

PHP在魔术函数__autoload()方法出现以前,如果你要在一个PHP文件中实例化10个对象,那么首先你必须用include或者require包含10个类文件,或者你把这10个类定义在同一个类文件中再引入,相信这个文件一定会非常大,后期维护也非常困难,这也违反了OO设计的基本思想。__autoload()方法自动加载机制出来以后,就让PHP程序员很方便的解决这一问题。下面就看看PHP __au...

2018-06-28 15:33:51 453 1

转载 ThinkPHP接入微信公众号支付

微信在生活中的地位越来越重要。人流量大,信息大的地方都是商户营销必争之地,在微信公众号中微信支付使用的场景越来越多。下面PHP程序员雷雪松就详细的讲解下ThinkPHP如何接入微信公众号支付。1、下载官方demo,并放到ThinkPHP/Library/Vendor/下面,建议建一个Wxpay文件夹。以后如果想接入支付宝就再建一个Alipay。这样在多种支付的情况下目录可能会比较清晰。2、在WxP...

2018-06-28 15:31:02 1150

转载 HTTP与HTTPS的区别

原文:HTTP与HTTPS的区别        超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。  为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字...

2018-06-28 14:54:37 88

转载 五种常见的 PHP 设计模式

策略模式策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。策略模式的三个角色:1.抽象策略角色2.具体策略角色3.环境角色(对抽象策略角色的引用)实现步骤:1.定义抽象角色类(定义好各个实现的共同抽象方法)2.定义具体策略类(具体实现父类的共同方...

2018-06-28 14:17:29 107

转载 MySql安装错误代码1045的解决方案

1.MySql安装错误代码1045的解决方案2.root密码忘记1045的解决方案 错误代码 1045Access denied for user 'root'@'localhost' (using password:YES)  Windows:1. 管理员登陆系统,停止mysql服务或者结束mysqld-nt进程2. 进入命令行,来到mysql的安装目录.假设安装目录为 d:\mysql\ , ...

2018-06-19 17:54:14 943

转载 解决Linux MySQL报错ERROR 2002

在Linux安装MySQL有时候会出现[mysql]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 这样的错误,具体解决办法如下:[html] view plain copy[root@www ~]# rm -rf /var/lib/mysq...

2018-06-19 17:52:45 1752

转载 php结合redis实现高并发下的抢购、秒杀功能

抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题常规写法:查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题,导致库存量出现负数[php...

2018-06-19 17:48:56 300

转载 redis常见使用场景下PHP实现

基于redis字符串string类型的简单缓存实现<?php//简单字符串缓存$redis = new \Redis();$redis->connect('127.0.0.1',6379);//缓存数据$redis->set('cache_key',json_encode(['data'=>'这是缓存数据']));//获取缓存数据$data = $red...

2018-06-19 17:45:20 189

原创 PHP缓存类完整实例

本文完整描述了一个简洁实用的PHP缓存类,可用来检查缓存文件是否在设置更新时间之内、清除缓存文件、根据当前动态文件生成缓存文件名、连续创建目录、缓存文件输出静态等功能。对于采用PHP开发CMS系统来说,离不开对缓存的处理,合理利用好缓存可有效的提高程序执行效率。php缓存类文件完整代码如下:<?php/** 缓存类 cache*/class cache {//缓存目录var $c...

2018-06-19 17:40:52 1744

转载 PHP Composer教程

Composer是PHP用来管理依赖(dependency)关系的工具。Composer通常情况下通过composer.json文件来配置和管理依赖的。Composer允许你申明项目所依赖的代码库,Composer会在你的项目中为你安装他们。下面PHP程序员雷雪松详细的讲解下Composer的安装和常用命令。Linux下安装Composer1、安装Composer123456[root@PHP ~...

2018-06-14 16:55:12 1765

转载 PHP浮点数运算精度

PHP有一个BC Math高精确度的数学扩展,它可以为任意精度数学计算提供了二进制计算器(Binary Calculator),它支持任意大小和精度的数字,以字符串形式描述。在需要处理数字计算时,不要在简单地使用四则运算,而要用BC Math相关的函数来处理。1、安装BC Math扩展本类函数仅在 PHP 编译时配置了 –enable-bcmath 时可用。PHP 的 Windows 版本已内建对...

2018-06-14 16:53:30 2918

空空如也

空空如也

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

TA关注的人

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