欢迎光临
我们一直在努力

php

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。 [1]
PHP 8 发布首个 Alpha 版本-IT技术资讯

PHP 8 发布首个 Alpha 版本

admin阅读(1028)评论(0)赞(3)

按照发布计划,PHP 8 将于今年 11 月 26 日发布,而原定于 6 月 18 日发布的第一个 Alpha 版本跳票到了今天发布。 下载地址:https://downloads.php.net/~pollita PHP 8 是一个新的主...

PHP 8 性能基准测试-IT技术资讯

PHP 8 性能基准测试

admin阅读(1000)评论(0)赞(2)

外国科技媒体 Phoronix 发布了针对 PHP 8 的性能基准测试报告。由于 PHP 8 Alpha1 大约要到6月中旬才发布,所以 Phoronix 从 PHP 8 最新的 Git 代码(截至5月底)构建了用于测试的版本。PHP 8 ...

一个PHP实现的ID生成器

老王阅读(975)评论(0)赞(4)

通常来说,不管使用什么数据库,表里都有一个名为 id 的主键,既然是主键,那么必然要满足唯一性,对于 MySQL 用户来说,它多半是一个 auto_increment 自增字段,也有一些别的用户喜欢使用 UUID 做主键,不过对 MySQL...

如何正确发布PHP代码-IT技术资讯

如何正确发布PHP代码

老王阅读(1331)评论(0)赞(4)

几乎每一个 PHP 程序员都发布过代码,可能是通过 ftp 或者 rsync 同步的,也可能是通过 svn 或者 git 更新的。一个活跃的项目可能每天都要发布若干次代码,但是现实却是很少有人注意其中的细节,实际上这里面有好多坑,很可能你就...

记几个常见的Laravel报错-IT技术资讯

记几个常见的Laravel报错

老王阅读(1116)评论(0)赞(2)

我已经用了一段时间的 Laravel 框架了,期间遇到了不少问题,有一些调试起来着实不太容易,本文筛选出几个,如果能让大家少走一些弯路,那我就算没白写。   报错:「Can’t swap PDO instance while wi...

Dependency Injection 和 Service Locator

老王阅读(978)评论(0)赞(1)

说起 IoC,其实是 Inversion of Control 的缩写,翻译成中文叫控制反转,不得不说这个名字起得让人丈二和尚摸不着头脑,实际上简而言之它的意思是说对象之间难免会有各种各样的依赖关系,如果我们的代码直接依赖于具体的实现,那么...

聊聊代码的割裂感

老王阅读(910)评论(0)赞(2)

早些年,我特别喜欢下围棋,每天都会下几盘。那时候日本围棋不仅高手林立,而且风格迥异,比如:小林光一的地铁流,武宫正树的宇宙流等等,不过我最喜欢的棋手当属大竹英雄,他下棋时追求美感,如果棋形不漂亮,那么他宁可认输也绝不玷污棋盘。后来,我成为了...

Unicode and UTF-8-IT技术资讯

Unicode and UTF-8

老王阅读(1058)评论(0)赞(1)

绝大多数程序员都听说过 Unicode 和 UTF-8,但是清楚它们之间关系的人就不多了,关于这个问题,与其苍白的陈述它们的概念,不如举例子说明来得自然。   我前些天碰到一个需求:随机生成几个汉字。原本我便对编码之类的问题发怵,...

谈谈PHP的Reload操作

老王阅读(911)评论(0)赞(2)

通常修改了 PHP 的配置后,为了让修改生效会执行 reload,而不是 restart,因为有很多前辈告诫过我们,reload 能保证整个过程的平滑性,所谓平滑性指的是在 reload 的过程中,旧的进程在处理完当前请求前不会提前终止。很...

Laravel专供:实现Schemaless

老王阅读(1351)评论(0)赞(1)

之所以要实现 Schemaless,主要是因为在线 DDL 有很多痛点,关于这一点,我在以前已经写过文章,没看过的不妨看看「史上最LOW的在线DDL解决方案」,不过那篇文章主要以介绍为主,并没有涉及具体的实现,所以我写了一个 Laravel...

实战Guzzle抓取

老王阅读(1473)评论(0)赞(1)

虽然早就知道很多人用 Guzzle 爬数据,但是我却从来没有真正实践过,因为在我的潜意识里,抓取是 Python 的地盘。不过前段时间,当我抓汽车之家数据的时候,好心人跟我提起 Goutte 搭配 Guzzle 是最好的爬虫,让我一直记挂在...

谈谈JSONAPI在PHP中的应用-IT技术资讯

谈谈JSONAPI在PHP中的应用

老王阅读(905)评论(0)赞(4)

现在服务端程序员的主要工作已经不再是套模版,而是编写基于 JSON 的 API 接口。可惜大家编写接口的风格往往迥异,这就给系统集成带来了很多不必要的沟通成本,如果你有类似的困扰,那么不妨关注一下 JSONAPI,它是一个基于 JSON 构...

记录file_get_contents返回空字符串的问题

老王阅读(913)评论(0)赞(1)

群里一位大佬上午说了一句箴言:「 世界上没有什么故障是重启解决不了的,如果有,再重启一次。」,结果下午群里就有一位朋友遇到了一个诡异的老版本 PHP 问题:当使用 file_get_contents 抓取网页内容的时候,总是返回空字符串,奇...

如何编码事务-IT技术资讯

如何编码事务

老王阅读(1081)评论(0)赞(1)

我说的事务指的是一般的数据库事务,而不是什么分布式事务之类高大上的概念。听起来很简单,但是即便如此,想实现的优雅一点也不是一件容易的事情。  假设有一个 QA 系统,当用户在上面提问的时候,系统保存问题,然后更新用户的提问数,最后触发一个问...

通过ProxySQL提升PHP/MySQL的性能

老王阅读(888)评论(0)赞(3)

前些天我介绍了如何通过 Twemproxy 实现 Redis 连接池,进而提升 PHP/Redis 的性能。今天我要介绍一下 ProxySQL,通过它可以实现 MySQL 连接池,进而提升 PHP/MySQL 的性能,实际上原理是差不多的,...

史上最LOW的PHP连接池解决方案-IT技术资讯

史上最LOW的PHP连接池解决方案

老王阅读(936)评论(0)赞(3)

大多数 PHP 程序员从来没有使用过连接池,主要原因是按照 PHP 本身的运行机制并不容易实现连接池,于是乎 PHP 程序员一方面不得不承受其它程序员的冷嘲热讽,另一方面还得面对频繁短链接导致的性能低下和 TIME_WAIT 等问题。 说到...

通过Twemproxy提升PHP/Redis的性能

老王阅读(1018)评论(0)赞(2)

Twemproxy 可以说是最古老的 Redis 代理软件了,一般来说,引入代理后性能会比没有引入代理时低一些,毕竟代理会导致一些额外的性能损耗,可是 Twemproxy 却会提升性能, 这主要得益于它的 Pipelining 功能可以实现...

如何使用PHP解析XML大文件

老王阅读(895)评论(0)赞(1)

如果使用 PHP 解析 XML 的话,那么常见的选择有如下几种:DOM、SimpleXML、XMLReader。如果要解析 XML 大文件的话,那么首先要排除的是 DOM,因为使用 DOM 的话,需要把整个文件全部加载才能解析,效率堪忧,相...

Laravel队列的一些细枝末节-IT技术资讯

Laravel队列的一些细枝末节

老王阅读(1111)评论(0)赞(1)

因为我崇尚简单,所以我憎恨一切所谓的「重量级」框架,比如「Laravel」,有时候这种憎恨甚至到了偏执的程度,以至于如果我看到简历里写着诸如「精通 Laravel」之类的话,那么便会毫不犹豫的 PASS 掉候选人。不过现在我承认有点喜欢「L...

一个Laravel队列引发的报警-IT技术资讯

一个Laravel队列引发的报警

老王阅读(955)评论(0)赞(3)

一台服务器报警了,内存占用过高,奇怪的是集群里其它的服务器都没问题。不过从以往的经验来看:每一个匪夷所思的问题背后,都隐藏着一个啼笑皆非的答案。   首先通过「free -m」确认一下内存情况,发现用掉了 6893M,还剩 976...

Poor Man PHP Profiler-IT技术资讯

Poor Man PHP Profiler

老王阅读(946)评论(0)赞(3)

说起 Profiler,老派的 PHP 程序员会选 XDebug,新派的 PHP 程序员会选 Xhprof,不过我们公司的服务器上都没装,于是我写了这个「Poor Man PHP Profiler」。   既然不用 XDebug ...

PHP优化杂烩-IT技术资讯

PHP优化杂烩

老王阅读(867)评论(0)赞(2)

讲 PHP 优化的文章往往都是教大家如何编写高效的代码,本文打算从另一个角度来讨论问题,教大家如何配置高效的环境,如此同样能够达到优化的目的。   pool 一个让人沮丧的消息是绝大多数 PHP 程序员都忽视了池的价值。这里所说的...

php7.4+的php-fpm.conf参数配置

admin阅读(2033)评论(0)赞(3)

安装php7.4,如果php-fpm的这几个参数设置不当了,会导致php-fpm启动失败,nginx站点不能解析php文件,报500或404错误。 php-fpm的核心参数配置 [global] pid = run/php-fpm.pid ...