php介绍
php起初(personal home page )后来发展变成Hypertext Processor。php是一种运行在服务器端的脚本:主要是在服务端解释运行,最终将处理后的静态页面返回给客户端,不像html js 图片等直接返回给客户端。php需要在服务器端运行后,最终以html静态页面的形式返回。
主要应用于制定动态网页,与前端交互:因为html+css主要是制作静态网页,事先设计好的。其中js也可以制作动态页面。
区别:
2 php运行过程
*其中tcp 三次握手,http请求和响应常问。详细过程参见网址http://blog.csdn.net/qq_21034239/article/details/69461479
其中
http请求:
请求行:请求方法 url(get提交的数据在这里) 协议版本号HTTP1.1(长连接) HTTP 1.0(短连接)
消息报头:Accept referer host connection cookies
(空行)
消息实体:(post表单提交的数据)
http响应
响应行:http版本号 状态码 解释
消息报头:
(空行)
消息实体:(请求的数据)*
3 php的底层是c
php执行方式的发展:
php3.0之前php采用边解释边执行,效率比较慢
php 4.0加入zend engine预编译执行。
*php 5.0:
php 6.0:
php 7.0:*
现在我使用的php5.6.8
4 服务器
LAMP LNMP
服务器方式常见:
apache+loadmod
nginx+php-fpm
lighthttp (没用过)
1.其中apache和nginx区别
1 apache比较老,(loadmodule)功能模块比较成熟;nginx不采用模块方式
2 nginx并发性比apache好,主要是底层采用I/O模型不同,nginx采用epoll模型;而apache采用轮询的select模型。
3 apache运行php,采用loadmod模块的方式,php出错,会影响到apache。而nginx采用php-fpm第三方的FastCgi进程管理,php-fpm+php专一解析php请求,就比较独立。只是 PHP 自己的进程当掉(但 FastCGI 会立即重新启动一个新 PHP 进程来代替当掉的进程)