标签 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多线程的作用非常明显。

phpMyAdmin一个用户只能管理自己数据库的设置方法

我们在做虚拟主机的时候,很多都需要为一个客户在phpMyAdmin中开一个帐号管理客户自己网站的数据库,而不希望客户看到别的数据库。网上有很多说修改phpMyAdmin的配置等,种种说法搞的人晕头转向。 其实方法很简单。

为网站添加短信验证码

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

执行PHP计划任务

我们的PHP程序有时候需要定时执行,我们可以使用 ignore_user_abort 函数或是 在页面放置js让用户帮我们实现。但这两种方法都不太可靠,不稳定。我们可以借助Linux的Crontab工具来稳定可靠地触发执行PHP任务。