
php(2)
luyaran
像永远快乐的阳光,追求那至高无上的完美乐园。
展开
-
php.ini 配置调优
默认安装的 PHP 就像是在百货商店里购买的普通套装,虽然合身,却不完美。调优的 PHP 就像是定做的套装,完全匹配你的尺寸。不过,需要注意的是,调优 PHP 只是提升 PHP 性能和效率的举措,对拙劣的代码和无响应的 API 调用无计可施。php.ini文件PHP 解释器在 php.ini 文件中配置和调优,这个文件在不同操作系统中的位置有所不同,而且一般命令行对应的 php.ini 和 PHP...转载 2018-04-24 17:14:10 · 215 阅读 · 0 评论 -
PHP 7 vs HHVM 比较
PHP 是最流行的用于 web 开发的脚本语言之一。PHP 的最新版本,PHP 7 在性能上做了很大的优化。不过,PHP 还有一个竞争对手 HHVM (HipHop Virtual Machine) — 一个运行 PHP 代码的虚拟工具。二者直接的比较正在升温,那么让我们来看一下他们直接的性能对比吧。什么是 HHVM?在2008年,Facebook 启动了一项工作,计划开发一个工具 将转载 2017-07-03 17:38:52 · 336 阅读 · 0 评论 -
PHP加速器:APC、eAccelerator、XCache比较
一直想找一些关于PHP加速的文章,偶然看到杀客的这篇文章,感觉不错,分享给大家,再此感谢杀客。一、PHP加速器介绍 PHP加速器是一个为了提高PHP执行效率,从而缓存起PHP的操作码,这样PHP后面执行就不用解析转换了,可以直接调用PHP操作码,这样速度上就提高了不少。 Apache中使用mod_php的请求、响应执行流程: 1、Apa转载 2017-07-03 17:10:59 · 405 阅读 · 0 评论 -
PHP---CURL并发访问链接
首先,先了解下 PHP中的curl多线程函数:# curl_multi_add_handle# curl_multi_close# curl_multi_exec# curl_multi_getcontent# curl_multi_info_read# curl_multi_init# curl_multi_remove_handle# curl_multi_se转载 2017-06-23 15:31:17 · 924 阅读 · 0 评论 -
PHP使用日期时间扩展库Carbon人性化显示时间
Carbon 日期时间处理库可以很方便的处理时间,github地址为https://github.com/briannesbitt/carbon可以通过 Composer 很方便的来安装 Carbon# composer require nesbot/carbon使用方法也很简单<?phprequire 'vendor/autoload.php';use Car转载 2017-06-30 16:34:22 · 1004 阅读 · 0 评论 -
PHP中常见的设计模式
什么是设计模式?在软件开发过程中,经常出现的经典场景的典型解决方案,称为设计模式如何学习设计模式?典型场景 --> 典型问题 --> 典型解决办法1.多态---------------------------------------------------------------------------------------------------转载 2017-06-30 16:30:36 · 299 阅读 · 0 评论 -
PHP 性能分析与实验:性能的宏观分析
对 PHP 性能的分析,我们从两个层面着手,把这篇文章也分成了两个部分,一个是宏观层面,所谓宏观层面,就是 PHP 语言本身和环境层面,一个是应用层面,就是语法和使用规则的层面,不过不仅探讨规则,更辅助以示例的分析。宏观层面,也就是对 PHP 语言本身的性能分析又分为三个方面:PHP 作为解释性语言性能有其天然的缺陷PHP 作为动态类型语言在性能上也有提升的空间当下主流 PHP 版转载 2017-06-30 16:28:45 · 232 阅读 · 0 评论 -
数据类型及数据结构资料
数据类型(data type) = 接口(interface) + 数据的表示(data representation)数据表示有多种, 数据结构(data structural representation)的表示形式是其中一种.实际上,数据类型是一种 属性,数据结构是一种 关系,都很抽象,严格说起来,应该把数据类型比作元素种类,数据结构类比作化学式/分子式。但是这样没有原创 2017-06-29 17:55:31 · 1009 阅读 · 0 评论 -
Apache 运行PHP原理
php,apache和mysql组合的工作过程:PHP的所有应用程序都是通过WEB服务器(如IIS或Apache)和PHP引擎程序解释执行完成的,工作过程:(1)当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送化支持PHP的WEB服务器。(2)WEB服务器接受这个请求,并根据其后缀进行判断如果是一个PHP请求,WEB服务器从硬盘转载 2017-06-29 15:14:10 · 7962 阅读 · 0 评论 -
Nginx+PHP服务器运行原理
Nginx服务器起到的作用服务器分为两类:前端服务器。负责HTTP请求的解析与转发,或者处理静态请求。轻量级,并发量高,常常用作反向代理、负载均衡等。说白了,就是负责请求发到哪里,或者取现成的文件之类的。应用服务器。负责调用某一种语言的解释器,或某种语言写的、已经编译好的程序,接收HTTP请求中的各个参数,按照开发者的意图做出动作,并生成结果返回给调用方。Nginx一般用作转载 2017-06-29 15:08:57 · 686 阅读 · 0 评论 -
PHP的运行机制与原理(底层)
说到php的运行机制还要先给大家介绍php的模块,PHP总共有三个模块:内核、Zend引擎、以及扩展层;PHP内核用来处理请求、文件流、错误处理等相关操作;Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;扩展层是一组函数、类库和流,PHP使用它们来执行一些特定的操作。比如,我们需要mysql扩展来连接MySQL数据库;当ZE执行程序时可能会需要连接若干扩展,这时ZE将控制权交转载 2017-06-29 15:07:28 · 467 阅读 · 0 评论 -
php原理简述
语言有静态语言和动态语言之分,静态语言一般指先编译后执行,动态语言一般只边解释边执行。静态语言包括c,c++,Java等,动态语言有PHP,JavaScript,Python等。任何语言都可以设计成动态或者静态,只是因为应用领域和需求不同而有了分别。编译型语言一次编译处处运行,更强调的是执行速度。而动态语言即时编写即时运行,更关注的是灵活。语言没有优劣,优劣的是一用语言的人。跟开发转载 2017-06-29 15:04:49 · 619 阅读 · 0 评论 -
PHP底层工作原理
简介 先看看下面这个过程:我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的;PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口);PHP总共有三个模块:内核、Zend引擎、以及扩展层;PHP内核用来处理请求、文件流、错误处理等相关操作;Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;扩展层是转载 2017-06-29 14:30:19 · 3608 阅读 · 1 评论 -
PHP代码的执行的过程
一、前言语言是人们进行沟通和交流的表达符号,每种语言都有专属于自己的符号,表达方式和规则。 就编程语言来说,它也是由特定的符号,特定的表达方式和规则组成。语言的作用是沟通,不管是自然语言,还是编程语言,它们的区别在于自然语言是人与人之间沟通的工具, 而编程语言是人与机器之间的沟通渠道。就PHP语言来说,它也是一组符合一定规则的约定的指令。 在编程人员将自己的想法以PHP语言实现转载 2017-06-29 14:28:59 · 704 阅读 · 0 评论 -
PHP编译原理之Opcode
一.编译原理的过程编译程序的工作过程一般可以划分为五个阶段: 1)词法分析:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词 (如基本字、标识 符、常量、运算符、标点符、左右括号等) 描述词法规则通常用:正规式 和 有限自动机 依循的原则:词法规则。。。线性分析。。。转载 2017-06-29 14:27:36 · 1877 阅读 · 0 评论 -
PHP原理之Opcodes
Opcode是一种PHP脚本编译后的中间语言,就像Java的ByteCode,或者.NET的MSL,举个例子,比如你写下了如下的PHP代码: echo "Hello World"; $a = 1 + 1; echo $a;?>PHP执行这段代码会经过如下4个步骤(确切的来说,应该是PHP的语言引擎Zend)1.Scanning(Lexing) ,将PHP代码转换为语言转载 2017-06-29 14:26:39 · 288 阅读 · 0 评论 -
【php】提高网页加载速度
1、减少页面请求: 从WEB运行原理上讲,IIS请求是无状态的,在服务器端一直是连接和关闭的不断进行着,如果能减少服务器请求,总的时间将会减少。 之前我下载163邮箱的登陆页面的图片时发现,它们的只用到了一个图片来完成整个页面的所有图片,当时我就纳闷了,这跟平时做的网站不一样呀。然来这样做减少浏览器的请求次数,用httpwatch你会发现请求的总时间大大减少了。同样的想法,在做cs转载 2017-06-19 17:35:08 · 2004 阅读 · 0 评论 -
HHVM 提升 PHP 性能
背景HHVM 是 Facebook 开发的高性能 PHP 虚拟机,宣称比官方的快 9 倍,我很好奇,于是抽空简单了解了一下,并整理出这篇文章,希望能回答清楚两方面的问题:HHVM 到底靠谱么?是否可以用到产品中?它为什么比官方的 PHP 快很多?到底是如何优化的?你会怎么做?在讨论 HHVM 实现原理前,我们先设身处地想想:假设你有个 PHP 写的网站遇到了性能问题转载 2017-07-03 17:42:01 · 421 阅读 · 0 评论 -
PHP常用函数总结
数学函数1.abs(): 求绝对值$abs = abs(-4.2); //4.2 数字绝对值数字2.ceil(): 进一法取整echo ceil(9.999); // 10 浮点数进一取整3.floor(): 舍去法取整 echo floor(9.999); // 9 浮点数直接舍去小数部分4.fmod(): 浮点数取余转载 2017-07-04 10:26:13 · 413 阅读 · 0 评论 -
PHP写时复制(Copy On Write)
从一个例子说起:<?php$foo = 1;$bar = $foo;echo $foo + $bar;变量 $foo 赋值给变量 $bar,这两个变量具有相同的值,没有必要新申请内存空间,他们可以共享同一块内存。在很多场景下PHP 的 COW 对内存进行优化。比如:变量的多次赋值、函数参数传递,并在函数体内修改实参等。什么是“复制”这是一段摘自鸟哥博客的例子,说的比较清楚,就直接贴过来...转载 2018-03-28 10:30:36 · 325 阅读 · 0 评论 -
php7 特性
1. 标量类型声明我们知道PHP是一种弱类型的编程语言,因此没有提供任何方法来指定输入参数和返回值的类型,PHP7突破了这种现状,增加了对标量类型(int,float,string,bool)的声明支持,增加declare(strict_types=1)指令声明是否严格类型校验,我们来看一段代码:(strict_types=) { $转载 2017-09-27 11:41:22 · 364 阅读 · 0 评论 -
知道别人的端口,如何看出端口有什么漏洞
常被黑客利用端口 一些端口常常会被黑客利用,还会被一些木马病毒利用,对计算机系统进行攻击,以下是计算机端口的介绍以及防止被黑客攻击的简要办法。 8080端口 端口说明:8080端口同80端口,是被用于WWW代理服务的,可以实现网页浏览,经常在访问某个网站或使用代理服务器的时候,会加上“:8080”端口号,比如http://www.cce.com.cn:8080。 端口漏洞:8080端口可以转载 2017-09-01 14:08:35 · 3930 阅读 · 0 评论 -
从HTTP到HTTPS再到HSTS
近些年,随着域名劫持、信息泄漏等网络安全事件的频繁发生,网站安全也变得越来越重要,也促成了网络传输协议从 HTTP 到 HTTPS 再到 HSTS 的转变。HTTPHTTP(超文本传输协议) 是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP 是互联网数据通信的基础。它是由万维网协会(W3C)和互联网工程任务组(IETF)进行协调制定了 HTTP 的标准,最终发布了一系转载 2017-08-31 11:35:10 · 910 阅读 · 0 评论 -
检查代理ip的有效性
/** +----------------------------------------------------------------------------- * 检查代理ip信息有效性 +----------------------------------------------------------------------------- * @p转载 2017-09-06 10:24:08 · 1712 阅读 · 0 评论 -
依赖注入与控制反转
依赖注入与控制反转依赖注入 当我第一次接触这个词的时候,我是有些丈二和尚摸不着头脑的,至今我也是感到比较困惑的,所以今天我们来探索一下Laravel中的依赖注入(dependency injection) 来好好的理解它。控制反转 第一印象是好深奥的名词,看上去好像是说反向控制?不懂?那就理顺之!起点什么是依赖没有你我就活不下去,那么,你就是我的依赖。说白了就是:转载 2017-09-04 17:44:13 · 398 阅读 · 0 评论 -
PHP运行模式
1、运行模式关于PHP目前比较常见的五大运行模式:1)CGI(通用网关接口 / Common Gateway Interface)2)FastCGI(常驻型CGI / Long-Live CGI)3)CLI(命令行运行 / Command Line Interface)4)Web模块模式(Apache等Web服务器运行的模式)5)ISAPI(Inte转载 2017-09-04 14:38:14 · 292 阅读 · 0 评论 -
PHP处理密码的几种方式
在使用PHP开发Web应用的中,很多的应用都会要求用户注册,而注册的时候就需要我们对用户的信息进行处理了,最常见的莫过于就是邮箱和密码了,本文意在讨论对密码的处理:也就是对密码的加密处理。MD5相信很多PHP开发者在最先接触PHP的时候,处理密码的首选加密函数可能就是MD5了,我当时就是这样的:$password = md5($_POST["password"]);上面这段代码转载 2017-09-04 13:50:51 · 668 阅读 · 0 评论 -
PHP CURL模拟登陆并且上传文件
<?phpheader('content-type:text/html;charset=gb2312');//要注意你需要上传的网站服务器的运行环境,还要看它的请求是否被压缩和转码还有就是//在框架中或者说php5.3以下的版本可以用@,但是其它的就只能用new CURLfile()函数来转化文件了//注意你要发送的服务器的header头的结构和特殊参数,实在不行就自己构建一个。废话不多说,直接原创 2017-08-11 15:12:41 · 620 阅读 · 0 评论 -
php垃圾回收机制及内存泄露
php的垃圾回收机制以前一直以为垃圾回收什么的是非常深不可测的知识,后来在做重读php手册的计划时,发现php手册已经对php的回收机制做了较为详细的概述,文档地址:http://php.net/manual/zh/features.gc.php 读完这部分文档之后,个人感觉垃圾回收并不深奥,就只是一个引用计数的概念,当变量的引用数等于0时,就会被销毁。 下面展开讨论一下。转载 2017-07-24 17:18:32 · 465 阅读 · 0 评论 -
26项PHP安全实践
PHP是一种开源服务器端脚本语言,应用很广泛。Apache web服务器提供了这种便利:通过HTTP或HTTPS协议,访问文件和内容。配置不当的服务器端脚本语言会带来各种各样的问题。所以,使用php时要小心。以下是25个PHP安全方面的最佳实践。为PHP安全提示而提供的示例环境文件根目录(DocumentRoot):/var/www/html默认的Web服务器:Apache(可以使转载 2017-07-24 17:14:25 · 684 阅读 · 0 评论 -
PHP资源大全
依赖管理依赖和包管理库Composer/ Packagist:一个包和依赖管理器Composer Installers:一个多框架Composer库安装器Pickle:一个PHP扩展安装器其他的依赖管理其他的相关依赖管理Satis:一个静态Composer存储库生成器Composition:一个在运行时检查Composer环境的库Version:语义版本的解析和转载 2017-07-24 15:58:27 · 1104 阅读 · 0 评论 -
PHP依赖倒置原则
设计模式中依赖倒置原则(Dependence Inversion Principle)的定义是“高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。”理解起来并不难,但在具体实现上,网上给出的很多PHP示例都有缺陷。就拿这篇文章来说,概念讲的没有问题,但在具体实现上,特别是代码中有很多错误,不能体现PHP特色,比如PHP中应该用->而不是用.来调用方法,转载 2017-07-24 13:28:15 · 417 阅读 · 0 评论 -
PHP新特性之字节码缓存和内置服务器
Zend OPcache1).从PHP5.0开始,内置了字节码缓存功能,名为Zend OPcache。因为PHP是解释性语言,PHP解释器执行PHP脚本时会解析PHP脚本代码,生成一系列的Zend操作码,然后执行字节码,每次的HTTP请求都是这样,会消耗很多资源,使用字节码缓存可以缓存预先编译的字节码,减少响应时间,降低系统资源的压力。启用Zend OPcache默认情况之转载 2017-07-21 17:25:18 · 293 阅读 · 0 评论 -
php 购物车类
session_start();class Cart{ public $pdo = null; public function __construct($config) { $host = $config['host']; $user = $config['user']; $db = $config['db'];转载 2017-07-07 17:48:31 · 494 阅读 · 0 评论 -
进程和线程关系及区别
1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.2.关系转载 2017-06-26 10:10:40 · 216 阅读 · 0 评论 -
提高PHP运行速度的几大方法
使用PHP的最大1个优势就是速度快。一般情况下,PHP总是具有足够的速度支持Web内容动态生成,许多时候甚至无法找出比它更快的方法。然而,当面对庞大的访问量、高负荷的应用、有限的带宽,以及其他各种带来性能瓶颈的因素时,就需要考虑怎样提高PHP的性能了。1、代码优化代码优化不仅仅是写出干净和清晰的代码,而是对代码进行一定的简化。可以使用Zend Optimizer来自动帮助完成这些繁杂的转载 2017-06-19 17:34:23 · 2823 阅读 · 0 评论 -
54个提高PHP程序运行效率的方法
1.在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题;2.尽量的少进行文件操作,虽然PHP的文件操作效率也不低的;3.优化Select SQL语句,在可能的情况下尽量少的进行Inser转载 2017-06-19 17:26:07 · 400 阅读 · 0 评论 -
Tinkphp定时发布文章的教程
第一步:在文章表中加一个字段,用来保存定时发布的时间假定我把这个字段设为 push_time 默认为 0第二步:写一个方法来检查文章列表,把文章列表到时间的文章改为发布状态1 //定时发布文章2 public function time_push_news()3 {4 $map['status'] = 0;//还是草稿状态5转载 2017-05-02 16:18:47 · 664 阅读 · 0 评论 -
PHP实现文章定时发布设置
[php] view plain copy /*获取文章的发布信息 * 文件格式为: * //警告!警告!警告!警告!警告!警告!警告!警告! //手动更改或删除此文件会导致XX网文章预签发时间错误!将造成严重损失!如若更改后果自负!!! //警告!警告!警告!警告!警告!警告!警告!警告! 15 2013-0转载 2017-05-02 16:15:52 · 1799 阅读 · 0 评论 -
PHP读取文件,解决中文乱码UTF-8
[php] view plain copy print?$opts = array( 'file' => array( 'encoding' => "utf-8" ) ); $opts = array('http' => array('encoding' => 'utf-8')); $ctxt = stream_context_c转载 2017-05-02 11:35:40 · 17349 阅读 · 1 评论