学习PHP底层,你是如何理解php是弱类型语言的?

相信不少开发人员对网络上的 0 "0" null false '' 的讲解司空见惯,了然于胸了,但我相信总有你忽略的细节,或者从变量结构角度出发,该如何解释。那么看看下边的验证吧。 echo 'php版本:'.PHP_VERSION; //5.6.28 $a = 0; $b="0"; $c= ''; $d= null; $e = false; echo "5个变量-原始测试类型";

PHP性能优化总结

【1】在循环中判断时,数值判断使用恒等要比等于高效。【2】在数组中,数组下标是字母时一定要加上单引号或双引号。因为$row['id']的效率是$row[id]的7倍。【3】不要使用“@”去屏蔽错误输出。用@屏蔽错误消息的做法非常低效。若你真的想抑制报错,可以通过设置error_reporting来控制,好比栗子中的,行前设置,行后取消即可。【4】尽量不要在for循环中使用函数,比如for ($x=

Linux下查看文件权限、修改文件权限的方法

查看权限命令查看目录的相关权限可以采用命令ls -lD,或者直接用ls -la如ls -l www.jb51.net //这里表示查看www.jb51.net目录修改权限命令chmod 777 文件名1.chmod 577 /home/stuser -R2.umask -p 02003.chown XXXX YYYY (XXXX 为用户名 YYYY为文件名)权限列表-rw------- (600)

解决文件流下载问题

1、需求:           下载文件,掉接口后后端返回文件流。使用window.location.href=url不能正确下载文件2、原因:     ajax无法请求流文件,需要使用XMLHttpRequest 请求3、解决  $(document).on("click", ".plupload

Nginx实现负载均衡的方式有哪几种呢?

什么是负载均衡当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入该服务器。如此以来,用户的每次访问,都会保

给你100万条数据的一张表,你将如何查询优化?

1.两种查询引擎查询速度(myIsam 引擎 )InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行。MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作有些不同,InnoDB类型的表用count(*)或者count(主键),加上where c

用Swoole如何搭建一个IM即时通讯(仿微信)

一、swoole应用IM场景1 与硬件设备连接通讯(定位设备)2 IM系统(用于直播页面的聊天通讯)什么是IM系统即时通讯(Instant Messaging,简称IM)是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流。实现方式有两种。第一种基于Server转发的,Client双方通信会经过Server转发来完成消息传递。例如QQ、微信。二、部署图三、程序流程1、

PHP session的实现原理

我们知道,session是在服务器端保持用户会话数据的一种方法,对应的cookie是在客户端保持用户数据。HTTP协议是一种无状态协议,服务器响应完之后就失去了与浏览器的联系,最早,Netscape将cookie引入浏览器,使得数据可以客户端跨页面交换,那么服务器是如何记住众多用户的会话数据呢?首先要将客户端和服务器端建立一一联系,每个客户端都得有一个唯一标识,这样服务器才能识别出来。建议唯一标识

cookie工作原理

当客户访问某个网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在c:\Documents and Settings\用户名\Cookies目录下。cookie是HTTP标头的一部分,因此setcookie函数必须在任何内容送到浏览器之前调用。这种限制与header()函数一样。当客户再次访问该网站时,浏览器会自动把c:\Docum

你知道分库分表有哪些方案&思路&设计 ?

中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。如下图,独立的拆分出订单库和用户库。水平拆分的概念,是同一个业务数据量大之后,进行水平拆分。上图中订单数据达到了4000万,我们也知道mysql单表存储量推荐是百万级,如果不进行处理,mysql单表数据太大,会导致性能变慢。使