PHP
文章平均质量分 91
liwenbo_csu
emm, 就是一些乱七八糟的东西
展开
-
关于web服务的接口幂等性
原创链接: http://www.smithfox.com/?e=16 转载请保留此声明, 谢谢]绝大部分网络上对幂等性的解释类似于:"幂等性是指重复使用同样的参数调用同一方法时总能获得同样的结果。比如对同一资源的GET请求访问结果都是一样的。"我认为这种解释是非常错误的, 幂等性强调的是外界通过接口对系统内部的影响, 外界怎么看系统和幂等性没有关系. 就上面这种解释, S转载 2016-07-29 12:00:07 · 614 阅读 · 0 评论 -
PHP SAPI(CLI)个人整理
通常,我们使用Apache或者Nginx这类Web服务器来测试PHP脚本,或者在命令行下通过PHP解释器程序来执行。脚本执行完后,Web服务器应答,浏览器显示应答信息,或者在命令行标准输出上显示内容。我们很少关心PHP解释器在哪里。虽然通过Web服务器和命令行程序执行脚本看起来很不一样,实际上它们的工作流程是一样的。命令行参数传递给PHP解释器要执行的脚本,相当于通过url原创 2017-05-26 11:05:22 · 2213 阅读 · 0 评论 -
PHP SAPI(FCGI)个人整理
PHP的CGI实现从cgi_main.c文件的main函数开始,在main函数中调用了定义在fastcgi.c文件中的初始化,监听等函数。对比TCP的流程,我们查看PHP对TCP协议的实现,虽然PHP本身也实现了这些流程,但是在main函数中一些过程被封装成一个函数实现。对应TCP的操作流程,PHP首先会执行创建socket,绑定套接字,创建监听:if (bindpath) { fcg原创 2017-05-26 11:07:34 · 521 阅读 · 0 评论 -
PHP SAPI(CGI)个人整理
cgi程序的入口函数在/sapi/cgi/cgi_main.c中,同样透过源码来看看CGI程序是如何启动的.首先CGI跟CLI程序的运行做一个大概的对比一下,个人总结,有错误请指正:1、CLI启动是在终端执行,其参数通过终端指定2、CGI启动是通过web服务器执行,当WEB服务器接受到HTTP请求以后,调用(应该类似exec)入口方法,参数的传递通过环境变量指定,具体哪些参数可原创 2017-05-26 11:06:16 · 870 阅读 · 0 评论 -
PHP SAPI CLI启动流程结合mysql扩展源码学习
在之前的学习中,大概抽象的了解了一个CLI进程的生命周期 接下来结合这张图, 我们再结合mysql扩展来看看扩展是如何实现回调的。1、call each extension MINIT函数,(https://github.com/php/php-src/blob/PHP-5.4.41/ext/mysql/php_mysql.c#L11原创 2017-07-07 12:33:30 · 459 阅读 · 0 评论 -
xpath入门教程
大部分程序开发者应该都有过爬取网页的经历,每个人爬取的方法也不太相同,有的用强大的正则表达式,有的用selector,有的也会用第三方提供的插件等等。每种方法都有各自的优缺点,比如正则的抓取效率问题但是通用性强,selector上手难度,插件类比如simple_dom_php抓取不到直接error退出进程问题等等。这里不做过多评价,只介绍一个好用的、强大的、易上手的抓取工具xpath。原创 2017-11-15 14:29:21 · 2122 阅读 · 0 评论 -
PHP的订单生成算法
PHP的订单号生成算法算是语言本身的硬伤吧,相信很少的大型互联网公司会用PHP去生成订单号了,但是如果你身处一个没有各方资源的情况下还是仔细想想怎么做吧,PHP相比JAVA而言是以进程的方式运行的,进程结束资源回收,所有不会跟java一样会保存static等全局的东西(不考虑分布式),所以如果要实现一个递增的订单号必须要依赖第三方的东西比如memcache,redis,mysql等然后每次生成...原创 2016-07-04 10:33:30 · 4558 阅读 · 0 评论