PHP Opcache工作原理

3.4k PHP教程 , 发表评论
PHP项目中,尤其是在高并发大流量的场景中,如何提升PHP的响应时间,是一项十分重要的工作。 而Opcache又是优化PHP性能不可缺失的组件,尤其是应用了PHP框架的项目中,作用更是明显。 1. 概述 在理解 OPCache 功能之前,我们有必要先理解PHP-FPM + Nginx 的工作机制,以及PHP脚本解释执行的机制。 1.1 PHP-FPM + Nginx 的工作机制 请求…

PHP empty()和is_array()实现源码分析

1.2k 技术 发表评论
事情起因于这样一段代码: if(is_array($input) && !empty($input)){ // 做点事 } leader认为应该先empty()判断,再is_array()判断,这种写法也更为多见。 而我还是觉得其实差不多。群里讨论之后,也没有确定性的结论,究竟哪一种更好。 于是乎,我去看了两者的源码实现。 1 is_array()的实现 is_array()是php内置函数,通过扩…

PHP数组遍历的顺序

1.6k PHP教程 , , 发表评论
经常会有人问我, PHP的数组, 如果用foreach来访问, 遍历的顺序是固定的么? 以什么顺序遍历呢? 比如: <?php $arr['laruence'] = 'huixinchen'; $arr['yahoo'] = 2007; $arr['baidu'] = 2008; foreach ($arr as $key => $val) { //结果是什么? } 又比如: <?php $arr[2] = 'huixinchen'; $arr[1] = 2007; $arr[0] = 2008; foreach…

PHP内存管理之unset和哈希表

1.1k PHP教程 发表评论
首先让我们看一个问题: 如下代码的输出, var_dump(memory_get_usage()); $a = "laruence"; var_dump(memory_get_usage()); unset($a); var_dump(memory_get_usage()); 输出(在我的个人电脑上, 可能会因为系统,PHP版本,载入的扩展不同而不同): int(90440) int(90640) int(90472) 注意到 90472-90440=32, 于是就有了各种的结论, 有的人说P…

scrapy+splash问题504 Gateway Time-out解决办法

3.4k 技术 , , 发表评论
本地用scrapy + splash调试的时候好好的,到了服务器上就奇慢无比,爆出来的错误是: 504 Gateway Time-out 这明显是在服务器上,splash渲染页面的时候超时了。 而且在服务器上用curl,或者用浏览器访问,都是非常快的,就是走splash慢了。 导致这个问题的主要原因是:splash在下载某些资源的时候,花的时间太长了,这些资源可能是某个…
« 上一页