浏览器仅可以解码HTML格式的文档,对于非HTML格式的文档,浏览器调用插件或者经过CGI接口调用其余程序来解码.php
动态网站: 咱们在服务器端或客户端执行了一段脚本或者一段程序,这段程序执行的结果根据不一样的用户、客户端、执行场景而不一样!html
动态网站必定是可以根据用户请求做出对应响应,甚至于对不一样的用户它返回的内容是不同的,根据客户端不一样的请求,返回的前端
结果是不同的。mysql
动态网站又分为客户端动态和服务器端动态sql
客户端动态 :咱们服务器端的源程序要下载到本地,而且在本地执行,并把执行结果经过浏览器显示出来。浏览器
服务器端动态 :在服务器内部执行源程序,并把执行结果经过浏览器返回给客户端。缓存
php-mysql.i686 -->这个包是PHP访问MySQL的驱动服务器
在php3.0时,引入了zend引擎,将咱们的执行过程分红了两段工具
第一段:词法分析、语法分析、转换为opcode网站
第二段:执行opcode(放置在内存中)
为了不他自身去清除opcode,而且实如今多个不一样的进程之间共享操做码,共享opcode功能,引入了缓存加速器!
缓存加速器:
APC
eAccelerator
XCache
php解释器与mysql交互
真正与mysql交互的是使用php解释器开发出来的程序(php程序)
<html> -->html标签
<head> -->首部
<title> </title> -->标题(放在网页上的标题)
</head>
<bady> -->主体(主体包含网页内容)
</bady>
</html>
/etc/httpd/conf/httpd.conf
一、找到这个模块,确认Apache支持CGI
二、找到这个选项 ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 用于定于在哪一个目录当中能够执行CGI脚本
访问路径 目录
三、而后在/var/www/cgi-bin/这个目录下建立一个脚本
Apache支持DSO机制
DSO:动态共享对象
php解释器与httpd交互的方式()
FastCGI :安装一个PHP的服务器,自身能够事先生成空闲进程 ,这些空闲进程由PHP服务器自身管理,前端Apache须要使用到PHP功能时
直接向PHP服务器发起请求就能够了,PHP服务器分配一个空闲进程给Apache,当Apache请求结束了,进程还或被收回来,须要销
毁时服务器会本身销毁。基于相似一种服务器客户端同样的机制,Apache为客户端,PHP服务器为服务器。
默认监听在9000端口上
在红帽5.4之后就自带这个功能,名称为fpm(快速PHP模块),
Apache与PHP结合的三种方式:
CGI
module (简单)
fastCGI (配置麻烦)
如何配置Apache服务器使用PHP功能?
一、PHP安装包
php-5.3.3-22.el6.i686.rpm -->不支持fpm,须要使用这个功能须要打补丁
二、php配置文件(Apache基于线程或进程工做时,他们所依赖的PHP模块也是不同的 )
<IfModule prefork.c> -->基于进程工做
LoadModule php5_module modules/libphp5.so -->在进程模式下PHP,PHP以传统意义上的方式工做
</IfModule>
<IfModule worker.c> -->基于线程工做
LoadModule php5_module modules/libphp5-zts.so -->在线程模式下,PHP必须以zts的方式工做
</IfModule>
无论是哪种,他会判断你使用哪一个模式,并相应加载合适的模块
AddHandler php5-script .php -->处理器,以.php结尾的文件,就是用这个工具来处理
AddType text/html .php -->添加了一种类别text/html
DirectoryIndex index.php -->默认主页面
PHP程序的主配置文件(/etc/php.ini)
[名字] -->一个[名字]只对这一堆指令生效(分段式配置)
一大堆指令
[名字]
一大堆指令