月份:2020年2月

PHP 中 9 大缓存技术总结

1、全页面静态化缓存 也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms; 一种比较常用的实现方式是用输出缓存: Ob_start() ******要运行的代码******* $content = Ob_get_contents(); ****将缓存内容写入html文件***** Ob_end_

Read More

PHP 之 FastCGI 与 mod_php 详解

网上对于FastCGI与mod_php的知识比较杂乱而不全面,故在此整理一下,以便入门学习者查阅方便。 背景 PHP最常用的方式是以模块的方式(mod_php)运行在Apache中,也是Apache运行PHP的默认方式;但在Nginx中,Nginx又使用的是PHP-FPM,但是PHP-FPM到底是个什么东东?跟php有什么关系?今天我们一起来探究一番。 PHP处理器(PHP handlers) 首

Read More

PHP7 新特性介绍

1. ?? 运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用。用法: $a = $_GET[‘a’] ?? 1; 它相当于: <?php $a = isset($_GET[‘a’]) ? $_GET[‘a’] : 1; 我们知道三元运算符是可以这样用的: $a ?: 1 但是这是建立在 $a 已经定义了的前提上。新增的 ?? 运算符可以简化判断。 参考: 2. 函数返回

Read More

PHP 7 vs HHVM 比较

PHP 是最流行的用于 web 开发的脚本语言之一。PHP 的最新版本,PHP 7 在性能上做了很大的优化。不过,PHP 还有一个竞争对手 HHVM (HipHop Virtual Machine) — 一个运行 PHP 代码的虚拟工具。二者直接的比较正在升温,那么让我们来看一下他们直接的性能对比吧。 来源: 什么是 HHVM? 在2008年,Facebook 启动了一项工作,计划开发一个工具 将

Read More

PHP运行原理(转载)

PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。 前几天,有个华为的家伙我叫他985问了我一个这样的问题php在服务器上是怎么跑的? 也就是说php是怎么在服务器上运行的, 当时属实给我问懵逼了一直都在不停的写代码但是真正的运行原理却知道的微乎其微, 经过一下午的查资料的我觉得有必要把前人总结的经验 写进我的博客中 我觉得写代码 不仅要有灵活的思想 扎实的

Read More

php的serialize序列化和json性能测试

本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 最近需要对大数组做存储,需要在serialize序列化和json之间做了选择。因此需要做了性能测试。 本文主要总结了10个PHP特性,这些PHP特性对于PHP开发者来说都是应该学习和使用的,译文如下: 在php5.2之前对数组存储的时候,大都使用serialize系列化。php5.2之后,开始内置了 JSON 

Read More

PHP7变量的内部实现(一)

本文第一部分和第二均翻译自Nikita Popov(nikic,PHP 官方开发组成员,柏林科技大学的学生) 的博客。为了更符合汉语的阅读习惯,文中并不会逐字逐句的翻译。 PHP7变量的内部实现-part 1 本文翻译自Nikita的文章,水平有限,如有错误,欢迎指正查看原文 受篇幅限制,这篇文章将分为两个部分。本部分会讲解PHP5和PHP7在zval结构体的差异,同时也会讨论引用的实现。第二部分

Read More

PHP的伪随机数与真随机数详解

本文由码农网 – 邱康原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 首先需要声明的是,计算机不会产生绝对随机的随机数,计算机只能产生“伪随机数”。其实绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会产生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。 本文分析了生成用于加密的随机数的相关问题。 PHP 5没有提供一种简单的机制来生成密码学上强壮的

Read More

每个程序员都应该知道的 15 个最佳 PHP 库

本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! Snappy是PHP5用于生成缩略图,快照,PDF,URL或HTML页面。它采用了优秀的基于WebKit的wkhtmltopdf和wkhtmltoimage可以适应在OSX,Linux的窗口。 PHP是一种功能强大的web站点脚本语言,通过PHP,web网站开发者可以更容易地创建动态的引人入胜的web页面。开发

Read More

高级PHP工程师所应该具备一些技能

初次接触PHP,就为其美所折服,于是一发不可收拾。 作为老牌后端编程语言,PHP 在全球市场占有率非常高,仅次于 Java,从各个招聘网站的数据上来看 PHP 开发的职位非常多,薪资水平也非常不错。 很多面试,很多人员能力要求都有“PHP高级工程师的字眼”,如果您真心喜欢PHP,并且您刚起步,那么我简单说说一个PHP高级工程师所应该具备的,希望给初级或已经达到中级的PHP工程师一些帮助。 那么,从

Read More

PHP内核探索之PHP中的哈希表

在PHP内核中,其中一个很重要的数据结构就是HashTable。我们常用的数组,在内核中就是用HashTable来实现。那么,PHP的HashTable是怎么实现的呢?最近在看HashTable的数据结构,但是算法书籍里面没有具体的实现算法,刚好最近也在阅读PHP的源码,于是参考PHP的HashTable的实现,自己实现了一个简易版的HashTable,总结了一些心得,下面给大家分享一下。    

Read More

如何正确配置 Nginx + PHP

对很多人而言,配置Nginx+PHP无外乎就是搜索一篇教程,然后拷贝粘贴。听上去似乎也没什么问题,可惜实际上网络上很多资料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷贝粘贴,早晚有一天会为此付出代价。 假设我们用PHP实现了一个前端控制器,或者直白点说就是统一入口:把PHP请求都发送到同一个文件上,然后在此文件里通过解析「REQUEST_URI」实现路由。 一般这样配置 此时很多教程会教大家

Read More

生成json的几种方式

本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 大家好我是IT修真院一枚纯洁的程序员,今天给大家分享一下生成json的几种方式 不管有多少服务器端语言出现,没有谁能够取代PHP。至少是不久的将来都不可能。 PHP还有许多最著名的web应用程序的支柱。 1.背景介绍 JSON-taglib是一个JSP 2.0标记库,用于在JSP代码中呈现JSON(JavaSc

Read More

10个值得深思的 PHP 面试问题

文章所罗列的问题虽然看似简单,但是每个背后都涵盖了一个或几个大家容易忽视的基础知识点,希望能够帮助到你的面试和平时工作。 Q1 第一个问题关于弱类型 $str1 = ‘yabadabadoo’; $str2 = ‘yaba’; if (strpos($str1,$str2)) { echo “/”” . $str1 . “/” contains /”” . $str2 . “/””; } else

Read More

PHP中“==”运算符的安全问题

问题远不止于此 这个问题给我们带来的影响远远不止于此。攻击者可以将这些密码添加到字典文件中,然后对应用程序中的所有用户进行暴力破解攻击。而且,如果应用程序的密码恢复机制中存在不安全的因素,攻击者还有可能对目标账号进行不限次数的攻击,直到攻击成功为止。 PHP中的加密方式有如下几种 问题的描述 在2011年,PHP官方漏洞追踪系统发现,当字符串与数字在进行比较的时候,程序会出现某些非常奇怪的现象。从

Read More

网站地图xml地图