浏览器仅能够解码HTML格式的文档,对于非HTML格式的文档,浏览器调用插件或者通过CGI接口调用其他程序来解码.
动态网站: 我们在服务器端或客户端执行了一段脚本或者一段程序,这段程序执行的结果根据不同的用户、客户端、执行场景而不同!
动态网站一定是能够根据用户请求作出对应响应,甚至于对不同的用户它返回的内容是不一样的,根据客户端不同的请求,返回的
结果是不一样的。
动态网站又分为客户端动态和服务器端动态
客户端动态 :我们服务器端的源程序要下载到本地,并且在本地执行,并把执行结果通过浏览器显示出来。
服务器端动态 :在服务器内部执行源程序,并把执行结果通过浏览器返回给客户端。
php-mysql.i686 -->这个包是PHP访问MySQL的驱动
在php3.0时,引入了zend引擎,将我们的执行过程分成了两段
第一段:词法分析、语法分析、转换为opcode
第二段:执行opcode(放置在内存中)
为了避免他自身去清除opcode,并且实现在多个不同的进程之间共享操作码,共享opcode功能,引入了缓存加速器!
缓存加速器:
APC
eAccelerator
XCache
php解释器与mysql交互
真正与mysql交互的是使用php解释器开发出来的程序(php程序)
-->html标签
-->首部
/etc/httpd/conf/httpd.conf
1、找到这个模块,确认Apache支持CGI
2、找到这个选项 ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 用于定于在哪个目录当中可以执行CGI脚本
访问路径 目录
3、然后在/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功能?
1、PHP安装包
php-5.3.3-22.el6.i686.rpm -->不支持fpm,需要使用这个功能需要打补丁
2、php配置文件(Apache基于线程或进程工作时,他们所依赖的PHP模块也是不一样的 )
LoadModule php5_module modules/libphp5.so -->在进程模式下PHP,PHP以传统意义上的方式工作
LoadModule php5_module modules/libphp5-zts.so -->在线程模式下,PHP必须以zts的方式工作
不管是哪一种,他会判断你使用哪个模式,并相应加载合适的模块
AddHandler php5-script .php -->处理器,以.php结尾的文件,就是用这个工具来处理
AddType text/html .php -->添加了一种类别text/html
DirectoryIndex index.php -->默认主页面
PHP程序的主配置文件(/etc/php.ini)
[名字] -->一个[名字]只对这一堆指令生效(分段式配置)
一大堆指令
[名字]
一大堆指令
Linux运维技术交流群:962822359