php
文章平均质量分 70
酱紫人的理直气壮
写程序未必是敲了多少代码,而是看你思考了什么
展开
-
Apache和Nginx的运行原理以及优缺点
Web服务器Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。应用层使用HTTP协议。HTML文档格式。浏览器统一资源定位器(URL)。Web服务器常常以B/S(Browser/Server)方式提供服务。浏览器和服务器的交互方式如下: GET /index.php HTTP/1.1 +---------------+ ...转载 2018-09-08 10:56:34 · 894 阅读 · 0 评论 -
Apache与Nginx的运行原理
Web服务器Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。应用层使用HTTP协议。HTML文档格式。浏览器统一资源定位器(URL)。Web服务器常常以B/S(Browser/Server)方式提供服务。浏览器和服务器的交互方式如下: GET /index.php HTTP/1.1 +---------------+ ...转载 2018-07-27 19:46:49 · 325 阅读 · 0 评论 -
php斐波那契数列的运用
//这里给大家演示php版求斐波那契数列//首先定义求斐波那契数列的函数:Fibonacci function Fibonacci($n){ if ($n <= 0) { return 0; } elseif ($n == 1) { return 1; } ...转载 2018-07-31 16:59:59 · 399 阅读 · 0 评论 -
php返回的状态码全
1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部 分,正在等待其余部分。101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。2xx (成功)表示成功处理了请求的状态代码。代码 说明200 (成功) 服务器已成功处理了请求。 通常,这表示...转载 2018-08-04 09:51:34 · 1262 阅读 · 0 评论 -
php版本之间的区别以及TS线程安全与NTS非线程安全
关于TS(线程安全)和NTS(非线程安全):TS指Thread Safety,即线程安全,一般在IIS以ISAPI方式加载的时候选择这个版本。 NTS即None-Thread Safe,一般以fast cgi方式运行的时候选择这个版本,具有更好的性能。 从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由于与Linux/Unix系统是采用...原创 2018-07-27 14:41:19 · 1919 阅读 · 0 评论 -
php的八大数据类型和常用的魔术常量
数据类型:四种标量类型:boolean (布尔型):这是最简单的类型,只有两种取值,可以为 TRUE/true 或 FALSE/false ,不区分大小写。详细请查看:PHP布尔类型(boolean)integer (整型):在32 位操作系统中它的有效范围是:-2 147 483 648~+2 147 483 647。整型值可以使用十进制,十六进制或八进制表示,前面可以加上可选的符号(- 或...转载 2018-07-27 14:16:11 · 1054 阅读 · 0 评论 -
redis常用的命令行以及操作
Redis简介:1.Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。2.几个特点: 存储的数据类型 字符串,散列,列表,集合,有序集合内存存储持久化 内存读写速度快,持久化到硬盘(RDB,AOF)功能丰富 可用于缓存,队列,消...转载 2018-07-30 17:00:41 · 2488 阅读 · 0 评论 -
redis的初步认识安装扩展以及连接服务
初步认识:1、Redis是一个高性能key-value,它是基于内存操作的,它是一个key-value的非关系型数据库。2、可以作为Nosql数据库,告诉缓存,消息队列的代理。3、支持的数据类型:字符串,哈希,列表(list),集合,有序集合,位图。对比:Memcache是一个纯内存数据库,不能够持久化,只支持String数据类型优点:1、读写性能好,但是读的效率高于写...原创 2018-07-26 21:43:33 · 391 阅读 · 0 评论 -
php面试题__语言基础
1. strlen( )与 mb_strlen( )的作用分别是什么(新浪网技术部)strlen和mb_strlen都是用于获取字符串长度。strlen只针对单字节编码字符,也就是说它计算的是字符串的总字节数。如果是多字节编码,如 gbk 和 utf-8,使用 strlen 得到是该字符的总字节数;可以使用mb_strlen获取其字符个数,使用mb_strlen 要注意两点,一是要开启 m...转载 2018-07-30 09:30:29 · 383 阅读 · 0 评论 -
php魔术方法的讲解与使用
PHP中把以两个下划线__开头的方法称为魔术方法,这些方法在PHP中充当了举足轻重的作用。 魔术方法包括:__construct(),类的构造函数 __destruct(),类的析构函数 __call(),在对象中调用一个不可访问方法时调用 __callStatic(),用静态方式中调用一个不可访问方法时调用 __get(),获得一个类的成员变量时调用 __set(),设置一个类的成...转载 2018-07-21 09:32:46 · 1128 阅读 · 0 评论 -
php 函数func_get_args()、func_get_arg()与func_num_args()之间的比较
func_get_args():返回一个包含函数参数列表的数组。 func_get_arg():返回指定的参数值。 func_num_args():返回调用函数的传入参数个数,类型是整型。举个小栗子方便大家更容易的理解这几个函数呦<?phpclass test{ public function hello($a,$b,$c,$d){ $num=func_n...转载 2018-07-20 21:11:52 · 626 阅读 · 0 评论 -
laravel框架的artisan的基本命令
查看artisan命令 php artisan php artisan list 查看某个帮助命令 php artisan help make:model 查看laravel版本 php artisan --version 使用 PHP 内置的开发服务器启动应用 php artisan serve 生成一个随机的 key,并...转载 2018-08-09 20:07:26 · 722 阅读 · 0 评论 -
介绍Redis的各种用途以及使用场景
Redis一、为什么使用 解决应用服务器的cpu和内存压力 减少io的读操作,减轻io的压力 关系型数据库的扩展性不强,难以改变表结构 二、优点: nosql数据库没有关联关系,数据结构简单,拓展表比较容易 nosql读取速度快,对较大数据处理快 三、适用场景: 数据高并发的读写 海量数据的读写 对扩展性要求高的数据...转载 2018-08-21 20:17:18 · 309 阅读 · 0 评论 -
mysql主从复制的理解和搭建
1,mysql主从复制的理解图: 2,mysql主从复制的概念和好处:mysql的主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是实时的业务数据操作,从数据库常用的读取为主。优点主要有1,可以作为备用数据库进行操作,当主数据库出现故障之后,从数据库可以替代主数据库继续工作,不影响业务流程2,读写分离,将读和写应用在不同的数据库与服务器...原创 2018-08-20 22:20:26 · 124217 阅读 · 3 评论 -
Mysql常用类型和字段属性
前言好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键。M前言好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键。MySQL提供了一组可以赋给表中各个列的数据类型,每个类型都强制数...转载 2018-08-27 11:57:00 · 2466 阅读 · 0 评论 -
分布式与集群的区别
先说区别:一句话:分布式是并联工作的,集群是串联工作的。1:分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。 分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。 举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪...转载 2018-08-13 17:49:15 · 113867 阅读 · 2 评论 -
小程序与H5,APP,公众号有什么区别
一、小程序和H5 1、“老板”不一样,H5是由W3C做的一个开放标准规范,微信小程序是腾讯自己的封闭规范。 2、运行环境不一样,H5的是开放的,可以运行在任何符合H5标准的容器(浏览器等)内,微信小程序相对来说是封闭的,只能在微信里运行(目前是这样),但是未来应该会越来越开发。 3、开发方式不一样,H5就是一个网页,所有网页开发技术都可以应用在H5开发上,微信小程序必须符合微信制...转载 2018-08-15 11:46:14 · 7740 阅读 · 0 评论 -
php抽象类与接口的应用
抽象类:抽象类也是面向对象中的重要概念,和接口、继承的概念重要性相当,在面向对象的开发中,所有的对象都是通过类来描述的,但是反过来,并不是所有类都是用来描绘对象的,广义上讲如果一个类中没有足够信息来描述一个具体的对象,这样的类就是抽象类。具体用简单的代码来实现:abstract class ACanEat { // 抽象方法需要在子类中实现 abstract public f...原创 2018-08-07 17:26:43 · 233 阅读 · 0 评论 -
session的工作原理以及session共享
http协议是无状态的,即你连续访问某个网页100次和访问1次对服务器来说是没有区别对待的,因为它记不住你。那么,在一些场合,确实需要服务器记住当前用户怎么办?比如用户登录邮箱后,接下来要收邮件、写邮件,总不能每次操作都让用户输入用户名和密码吧,为了解决这个问题,session的方案就被提了出来,事实上它并不是什么新技术,而且也不能脱离http协议以及任何现有的web技术。原理很简单,假设你访...转载 2018-08-14 20:28:46 · 349 阅读 · 0 评论 -
MYSQL常见问题总结
Q1:主键,外键,超键,候选键;主键 对表中数据进行唯一标识的数据列的组合;不能缺失;不能空值; 外键 该列为另一表的主键; 超键 关系中能唯一标识数据的属性; 候选键 不含多余属性的超键; Q2:数据库事务的四个特征及含义;原子性 要么全部完成,要么不完成,若发生错误会进行回滚操作; 一致性 开始到结束后,数据库完整性约束没收到破坏...转载 2018-08-07 08:28:42 · 242 阅读 · 0 评论 -
php四大主流框架优缺点总结
ThinkPHPThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。 ThinkPHP的宗旨是简化开发、提高效率、易于扩展,其在对数据库的支持方面已经包括MySQL、MSSQL、Sq...转载 2018-08-06 20:28:48 · 3087 阅读 · 0 评论 -
如何避免用户频繁调用接口与接口安全
有个短信接口给用户注册时发送验证码的,然后现在发现有人每次用不同ip 不同号码进行恶意调用,现在接口被调爆,如何解决这个问题呢。(现在的黑科技不只是有你想象中的那么简单的)为了避免接口防刷,我们也有很多的防护措施1,最简单有效的防护就是图片验证码,采用点触验证,验证滑动或者是第三方验证码服务,普通的图片验证码很容易被破解2,频率,或者叫接口防刷,通过用户具有唯一性的ip验证用户的身...原创 2018-07-28 18:11:24 · 20299 阅读 · 0 评论 -
CURL中curl_setopt的参数,以及参数值
刚刚看到用cURL实现GET和POST请求的方法,发现自己完全不了解。去看文档发现curl_setopt()这个函数的参数是在太多了,于是干脆发在博客里有时间了慢慢看。下面是官方文档的原文:参数ch由 curl_init() 返回的 cURL 句柄。option需要设置的CURLOPT_XXX选项。value将设置在option选项上的值。以下 option 参数的 value应该被设置成 boo...转载 2018-07-14 16:39:19 · 3213 阅读 · 0 评论 -
Hash算法全以及对Hash的解释
1. Hash是什么,它的作用先举个例子。我们每个活在世上的人,为了能够参与各种社会活动,都需要一个用于识别自己的标志。也许你觉得名字或是身份证就足以代表你这个人,但是这种代表性非常脆弱,因为重名的人很多,身份证也可以伪造。最可靠的办法是把一个人的所有基因序列记录下来用来代表这个人,但显然,这样做并不实际。而指纹看上去是一种不错的选择,虽然一些专业组织仍然可以模拟某个人的指纹,但这种代价实在太...转载 2018-07-25 19:37:39 · 1296 阅读 · 0 评论 -
Apache与Nginx的区别以及用途
Apache与Nginx的优缺点比较 1、nginx相对于apache的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速啊 apache 相对于nginx 的优点: rewrite ,...原创 2018-07-11 00:13:22 · 740 阅读 · 0 评论 -
yii2.0 Cookie的存取 以及为什么第一次刷新页面取不到cookie值
Yii2的Cookie主要是通过yii\web\Request和yii\web\Response进行操作通过\Yii::$app->response->getCookies()->add()添加Cookie通过\Yii::$app->request->cookies读取Cookie.① 添加Cookie<?php//第一种方法$cookie = new \yii...原创 2018-07-03 21:19:39 · 1937 阅读 · 0 评论 -
php的报错级别
在php.ini中可以设置服务器对错误的报警级别。在默认情况下,php将报告除了通知之外的所有错误。错误报告级别是通过一些预定义的常量来设置的,语法int error_reporting ( [int level] )如果参数 level 未指定,当前报错级别将被返回。下面几项是 level 可能的值:如下表所示:1 E_ERROR 报告运行时的致命错误2 ...原创 2018-07-10 17:44:55 · 524 阅读 · 0 评论 -
require(),include(),require_once()和include_once()区别与用法
require,include语句很有用,它们能包含位于独立文件中的代码,实现代码结构的模块化,方便调用。require_once()和include_once()语句分别对应于require()和include()语句。require_once() 和include_once()语句主要用于需要包含多个文件时,可以有效地避免把同一段代码包含进去而出现函数或变量重复定义的错误。如果php配置文件p...原创 2018-07-10 17:42:09 · 1702 阅读 · 0 评论 -
使用命令提示符导出sql文件
今天我在转储sql的过程中突然遇到了一个mysql的内部错误,如下所示:这是一个mysql内部的错误,为了能更好的解决当下的问题,导出sql,只能用命令提示符导出sql文件,具体过程如下所示:注意:cmd需要使用管理员身份运行!首先进到我本地php的环境目录,进去MySQL,进入MySQL下的bin目录,mysqldump.exe -uroot -p online > d:\online.s...原创 2018-07-10 16:16:02 · 546 阅读 · 0 评论 -
php的六种加密方式(可逆,不可逆)
1. MD5加密string md5 ( string $str [, bool $raw_output = false ] )参数str -- 原始字符串。raw_output -- 如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回。这是一种不可逆加密,执行如下的代码$password = '123456';echo md5...原创 2018-07-04 19:56:41 · 41075 阅读 · 1 评论 -
序列化与反序列化
php序列化与反序列化:把复杂的数据类型压缩到一个字符串中serialize() 把变量和它们的值编码成文本形式unserialize() 恢复原先变量 通过序列化我们可以将一些模块化的数据使用字符串的形式存储在数据库或session等,可以减少创建众多繁琐的数据表字段,当然序列化为字符串存储会增加额外的空间,应合理的设计和应用。对象的序列化和反序列化作用就不再赘述,php中序列...转载 2018-07-23 11:47:32 · 207 阅读 · 0 评论 -
php应用单例模式与工厂模式的示例与解析
一,什么是工厂模式?1,含义:在类中定义一些抽象的方法,用于在子类中实现,继承自抽象类中的子类,用于实现基类中的抽象的方法用于实例化所有相应的子类,当我们在写一个项目的时候,为了在合适的时候找到相应的类,避免将new分散到项目的各个角落,这样不仅逻辑混乱,而且维护不方便,我们就应用了简单的工厂模式。2,实例:<?phpclass YunSuan{ p...转载 2018-07-25 08:45:08 · 246 阅读 · 0 评论 -
CentOS7下升级PHP版本为7.2
yum provides php #自带的只有5.4版本rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm #更新源rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmyum remove php-common -y #移...原创 2018-07-07 11:34:26 · 5285 阅读 · 0 评论 -
linux下如何把php升级到5.6
1: 进入终端后查看PHP版本php -v输出可能如下:PHP 5.4.35 (cli) (built: Nov 14 2014 07:04:10) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0...原创 2018-07-06 13:31:05 · 954 阅读 · 0 评论 -
Windows中php任务计划定时执行PHP代码及扩展
因为在项目中有个需求是大批量的数据自动计算后插入更新到数据库中,为避免占用正常资源,需要在固定时间段进行自动计算,因为项目服务器是windows server2012,就考虑用windows平台强大的任务计划程序来实现。此外在网上找了这类似问题的解决办法后,还可用PHP的ignore_user_abort()函数,这个函数还没使用过,PHP官网是这样介绍的int ignore_user_...转载 2018-07-24 09:03:32 · 4673 阅读 · 0 评论 -
PHP指定时间戳/日期加一天,一年,一周,一月
PHP指定时间戳加上1天,1周,1月,一年其实是不需要用上什么函数的!指定时间戳本身就是数字整型,我们只需要再计算1天,1周它的秒数相加即可!博主搜索php指定时间戳加一天一年,结果许多的文章给出来的结果是用的函数:strtotime();这个函数的确是可以很好的帮助到你,用这个函数有两种方法可以实现:第一:是你需要先把指定时间戳格式化再用这个函数才能加一天,一年.....;而且网上各大平台都没有...原创 2018-07-05 17:24:17 · 9152 阅读 · 0 评论 -
substr();mb_substr();mb_subcut的区别以及实践
substr() mb_substr() mb_subcut区别与联系substr()string:输入字符串。start:(1)为非负数,返回的字符串将从 string 的 start 位置开始, 至字符串结尾$rest = substr("abcdef", 1); //返回bcdef(2)为0,返回全字符串$rest = substr("abcdef", 0); //返回abcdef(3)...原创 2018-07-12 10:39:54 · 769 阅读 · 0 评论 -
排序算法--冒泡排序
冒泡排序是一种简单的交换排序,它的基本思想是两两向记录的关键字,如果为反序则交换位置,一直排序到没有相反位置即可,首先我们必须弄清楚什么是冒泡排序,不理解冒泡排序的原理,我们就无法写出代码。 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,...原创 2018-07-02 19:36:52 · 299 阅读 · 0 评论