-
[PHP] Oauth授权和本地加密
所属栏目:[PHP] 日期:2020-05-25 热度:89
1.Oauth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方关键字:appKey appSecret token(令牌)2.SSO授权如果本地手机装有微博客户端,则直接跳转到微[详细]
-
[PHP] java读取PHP接口数据
所属栏目:[PHP] 日期:2020-05-25 热度:133
和安卓是一个道理,读取json数据PHP文件:?phpclass Test{//日志路径const LOG_PATH=E:phpServerApachelogserror.log;//显示的行数const PAGES=50;public static function main(){header(content-type:text/html;charset=utf-8);if(!empty($_GET[action])){if[详细]
-
[PHP] 重回基础(Array相关函数)
所属栏目:[PHP] 日期:2020-05-25 热度:62
使用函数array_keys(),得到数组中所有的键,参数:数组$arr=array();$arr[one]=one;$arr[two]=two;$arr[three]=three;$newArr=array_keys($arr);print_r($newArr);//Array ( [0] = one [1] = two [2] = three )使用函数array_values(),得到数组中所有的值,[详细]
-
[PHP] 从PHP 5.6.x 移植到 PHP 7.0.x不兼容点
所属栏目:[PHP] 日期:2020-05-25 热度:72
1.错误和异常处理 1.1 set_exception_handler()函数申明的类型 function handler($e){ var_dump($e); } set_exception_handler(handler); throw new Exception(sb); 1.2 当内部构造器失败的时候,总是抛出异常 1.3 解析错误会抛出 ParseError 异常 1.4 E_STRI[详细]
-
[PHP] PHP的脚本执行
所属栏目:[PHP] 日期:2020-05-25 热度:184
PHP的脚本执行:PHP的脚本执行还是会经过编译环节, 只不过它们一般会在运行的时候实时进行编译1.启动PHP及Zend引擎, 加载注册的扩展模块2.读取脚本文件,Zend引擎对脚本文件进行词法分析,语法分析。3.编译成opcode执行4.如果安装opcode缓存扩展(如APC, xc[详细]
-
[PHP] PHP的纯CPU基准测试(PHP5.5.9 vs PHP7.2.1)
所属栏目:[PHP] 日期:2020-05-25 热度:144
PHP的纯CPU基准测试(PHP5.5.9 vs PHP7.2.1):1.bench.php 可在PHP源代码的 php-src/Zend 目录2.micro_bench.php 也可以在 PHP 源代码发布的 php-src/Zend 目录中找到3.同时使用Unix time 命令来计时time php micro_bench.phpPHP5.5.9结果:empty_loop 0.124func[详细]
-
[PHP] 从PHP 5.6.x 移植到 PHP 7.0.x新特性
所属栏目:[PHP] 日期:2020-05-25 热度:172
从PHP 5.6.x 移植到 PHP 7.0.x 新特性:1.标量类型声明 字符串(string), 整数 (int), 浮点数 (float), 布尔值 (bool),callable,array,self,Class/interface name2.返回值类型声明 定义参数类型和返回值类型 function test(int $a):int{} 如果不按规定传参会返[详细]
-
[PHP] PHP源码常用代码中的宏定义
所属栏目:[PHP] 日期:2020-05-25 热度:140
PHP源码常用代码宏定义:#define 宏名 字符串#表示这是一条预处理命令,所有的预处理命令都以#开头。define是预处理命令。宏名是标识符的一种,命名规则和标识符相同。字符串可以是常数、表达式等。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中[详细]
-
[PHP] PHP源码中的条件编译定义
所属栏目:[PHP] 日期:2020-05-25 热度:95
根据不同情况编译不同代码、产生不同目标文件的机制,称为条件编译有这些预处理命令:#if、#elif、#else #endif ;#ifdef #else #endifPHP源码:#ifdef SERIALIZE_HEADERS //如果存在宏定义SERIALIZE_HEADERS# define VEC_FREE() smart_str_free(vec_str) //[详细]
-
[PHP] PHP服务器接口SAPI中的结构体
所属栏目:[PHP] 日期:2020-05-25 热度:158
SAPI:在各个服务器抽象层之间遵守着相同的约定,这里我们称之为SAPI接口。例如命令行程序的实现,Apache的mod_php模块实现以及fastcgi的实现等等1.结构体:使用结构体(Struct)来存放一组不同类型的数据struct 结构体名{结构体所包含的变量或数组};struct 结[详细]
-
[PHP] PHP与Apache的模块配合说明
所属栏目:[PHP] 日期:2020-05-25 热度:191
1.当PHP需要在Apache服务器下运行时一般来说,它可以mod_php5模块的形式集成, 此时mod_php5模块的作用是接收Apache传递过来的PHP文件请求,并处理这些请求, 然后将处理后的结果返回给Apache。加载方式有两种:Apache启动时的加载,或者运行的时候动态装载2.[详细]
-
[PHP] 通用网关接口CGI 的运行原理
所属栏目:[PHP] 日期:2020-05-25 热度:117
CGI 的运行原理:1.客户端访问某个 URL 地址之后,通过 GET/POST/PUT 等方式提交数据,并通过 HTTP 协议向 Web 服务器发出请求。2.服务器端的 HTTP Daemon(守护进程)启动一个子进程。然后在子进程中,将 HTTP 请求里描述的信息通过标准输入 stdin 和环境变[详细]
-
[PHP] apache在worker模式配置fastcgi使用php-fpm
所属栏目:[PHP] 日期:2020-05-25 热度:155
1.准备:dpkg -L apache2查看所有安装的apache2的应用a2query -M查看apache2使用的模式httpd -l旧版本查看当前apache模式2.查看apache的进程数:ps aux|grep httpd|grep -v grep|wc -l //查看prefork模式的pstree |grep httpd //查看worker模式的3.prefork, wor[详细]
-
[PHP] 数据结构-从尾到头打印链表PHP实现
所属栏目:[PHP] 日期:2020-05-25 热度:160
1.遍历后压入反转数组,输出2.array_unshift — 在数组开头插入一个或多个单元,将传入的单元插入到 array 数组的开头int array_unshift ( array $array , mixed $value1 [, mixed $... ] )?phpclass Node{public $data;public $next;}//创建一个链表$linkLis[详细]
-
[PHP] 数据结构-输出链表倒数第k个结点PHP实现
所属栏目:[PHP] 日期:2020-05-25 热度:165
输入一个链表,输出该链表中倒数第k个结点。第一个指针走(k-1)步,到达第k个节点,两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了?phpclass Node{public $data;public $next;}//创建一个链表$linkList=new Node();[详细]
-
[日常] PHP与Mysql测试kill慢查询并检验PDO的错误模式
所属栏目:[PHP] 日期:2020-05-25 热度:50
?phptry{//1. pdo的错误模式,抛出异常,不记录到php的error日志,不影响代码继续运行,$opts=array(PDO::ATTR_ERRMODE = PDO::ERRMODE_EXCEPTION,);$pdo=new PDO(mysql:host=localhost;dbname=pan,root,xxxx,$opts);$pdo-query(set names utf8);$sth=$pdo-pre[详细]
-
[日常] json_encode对中文和引号的处理差异研究
所属栏目:[PHP] 日期:2020-05-25 热度:120
json_encode()1.默认就是把所有 ASCII 可显示字符以外的统统转义为 Unicode如果把那些字符转义为 Unicode 之后,无论文件编码是否一致,都不会出现乱码,因此中文转成Unicode编码是有好处的2.对单引号和双引号的处理是有差异的,并且受数组键值包裹字符串的引号[详细]
-
[日常] Apache Order Deny,Allow的用法
所属栏目:[PHP] 日期:2020-05-25 热度:56
Order Deny,Allow的用法:影响最终判断结果的只有两点:1. order语句中allow、deny的先后顺序,最后的是最优先的;2. allow、deny语句中各自包含的范围。常用:Order Deny,AllowDeny from all //禁止所有Allow from 61.135.152.134 //允许指定ipOrder Allow,Deny[详细]
-
[PHP] 深入理解PHP内核:变量及数据类型
所属栏目:[PHP] 日期:2020-05-25 热度:91
1、现实生活中我们会找一个小箱子来存放物品,一来显得不那么凌乱,二来方便以后找到。计算机也是这个道理,我们需要先在内存中找一块区域,规定用它来存放数据,并起一个好记的名字,方便以后查找。这块区域就是“小箱子”,我们可以把数据放进去了。2、数据[详细]
-
[日常] Redis基本使用测试
所属栏目:[PHP] 日期:2020-05-25 热度:169
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hy[详细]
-
[转] PHP读取HTTP接口如何处理超时
所属栏目:[PHP] 日期:2020-05-25 热度:141
原文地址:https://www.jianshu.com/p/446ea7aaea86最近在工作中遇到一个读取 HTTP 接口慢的问题(使用的是 PHP 服务器端语言),所以想谈谈服务器端读取外部资源超时机制的问题,谨以此文做个笔记。在 Web 开发中,需要有大量的外部资源进行交互,比如说 Mysq[详细]
-
[PHP] 数据结构-循环链表的PHP实现
所属栏目:[PHP] 日期:2020-05-25 热度:74
1.将单链表中终端结点的指针端由空指针改为指向头结点,单循环链表,循环链表和单链表的主要差异就在于循环的判断条件上原来是判断p-next是否为空,现在则是p-next不等于头结点,则循环未结束2.指向终端结点的尾指针代表该循环链表3.创建循环链表关键是头结点指向[详细]
-
[PHP] 数据结构-链表创建-插入-删除-查找的PHP实现
所属栏目:[PHP] 日期:2020-05-25 热度:181
链表获取元素1.声明结点p指向链表第一个结点,j初始化1开始2.ji,p指向下一结点,因为此时p是指向的p的next,因此不需要等于3.如果到末尾了,p还为null,就是没有查找到插入元素1.插入元素和查找类似,找到位置后2.生成新的结点s, s-next=p-next p-next=s;删除元素1.[详细]
-
[PHP] 算法-原址排序数组使奇数位于偶数前面的PHP实现
所属栏目:[PHP] 日期:2020-05-25 热度:70
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。1.遍历数组,判断元素奇数偶数,push进新数组,空间换时间2.插入排序的思想[详细]
-
[PHP]算法-归并排序的PHP实现
所属栏目:[PHP] 日期:2020-05-25 热度:125
?php//归并排序function merge($A,$left,$mid,$right,$temp){//7.左堆起始$i=$left;//8.右堆起始$j=$mid+1;//9.临时数组起始$t=0;//10.左右堆数组都没到末尾while($i=$mid $j=$right){//11.左堆小于等于右堆时if($A[$i]=$A[$j]){//12.左堆赋给临时数组,索引加[详细]

浙公网安备 33038102330553号