标签 php 下的文章


研究一下Traits

据说,为了弥补php单继承的不足,从PHP5.4起,引入了traits特性。使得php可以通过trait实现多重继承。


用php执行shell,用来备份和恢复mysql

设置apache、nginx的启动用户的sudo权限格式:name ALL=(特定用户) NOPASSWD:需要sudo权限去执行的程序、脚本先查找nginx的用户


编译安装php7

一、安装必要一些依赖yum install php-mcrypt libmcrypt libmcrypt-devel libxml2-devel openssl-devel  libcurl-devel libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64  libpng-devel.x86_64 freetype-devel.x86_64 libjpeg-turbo-devel  libmcrypt-devel mysql-devel -y



PHP 5.3、5.4、5.5、5.6 中的新特性

在之前的 PHP 版本中,必须使用静态值来定义常量,声明属性以及指定函数参数默认值。 现在你可以使用包括数值、字符串字面量以及其他常量在内的数值表达式来 定义常量、声明属性以及设置函数参数默认值。


用xdebug调试PHP程序的超级慢怎么办?

xdebug是一个不错的调试php的组件,但是,如果你不好好的配置它,就会遇到各式各样的问题: A:访问超慢响应 B:访问超快响应但是是空白页。 问题A解决的方法很多,总归还有解决办法;问题B我估计是线程问题,也许可以通过调试php.ini的配置搞定,也许不是,很难讲清楚,线程的问题可能要跟xdebug的版本扯上关系。



让PHP真正的支持多线程

我之前的文章中说过,大多数网站的性能瓶颈不在PHP服务器上,因为它可以简单地通过横向增加服务器或CPU核数来轻松应对(对于各种云主机,增加VPS或CPU核数就更方便了,直接以备份镜像增加VPS,连操作系统、环境都不用安装配置),而是在于MySQL数据库。如果用 MySQL 数据库,一条联合查询的SQL,也许就可以处理完业务逻辑,但是,遇到大量并发请求,就歇菜了。如果用 NoSQL 数据库,也许需要十次查询,才能处理完同样地业务逻辑,但每次查询都比 MySQL 要快,十次循环NoSQL查询也许比一次MySQL联合查询更快,应对几万次/秒的查询完全没问题。如果加上PHP多线程,通过十个线程同时查询NoSQL,返回结果汇总输出,速度就要更快了。我们实际的APP产品中,调用一个通过用户喜好实时推荐商品的PHP接口,PHP需要对BigSea NoSQL数据库发起500~1000次查询,来实时算出用户的个性喜好商品数据,PHP多线程的作用非常明显。


为网站添加短信验证码

我们在一些网站注册的时候,为确保业务的完整和正确性,防止恶意注册,经常会需要用到短信的验证码。但是他是怎么实现的呢? 原理很简单,就是在用户点击"获取验证码"的时候,在前台或者后台(ajax)获取一串固定位数的数字,然后写数据库发短信,写cookie设置验证码的有效期。