浏览器仅能够解码HTML格式的文档,对于非HTML格式的文档,浏览器调用插件或者通过CGI接口调用其他程序来解码.

动态网站: 我们在服务器端或客户端执行了一段脚本或者一段程序,这段程序执行的结果根据不同的用户、客户端、执行场景而不同!

动态网站一定是能够根据用户请求作出对应响应,甚至于对不同的用户它返回的内容是不一样的,根据客户端不同的请求,返回的

结果是不一样的。

动态网站又分为客户端动态和服务器端动态

客户端动态 :我们服务器端的源程序要下载到本地,并且在本地执行,并把执行结果通过浏览器显示出来。

服务器端动态 :在服务器内部执行源程序,并把执行结果通过浏览器返回给客户端。

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

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模块也是不一样的 )

<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)

[名字]      -->一个[名字]只对这一堆指令生效(分段式配置)

一大堆指令

[名字]

一大堆指令

详解php概念以及主配置文件的更多相关文章

  1. CentOS6.7安装部署php5(详解安装选项与主配置文件)

    模块安装---PHP 编译环境:gcc  gcc-c++   pcre-devel  openssl-devel   libxml2   libxml2-devel   bzip   bzip-dev ...

  2. 基于CentOS6.5下snort+barnyard2+base的入侵检测系统的搭建(图文详解)(博主推荐)

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机器环境实验室的大数 ...

  3. 基于Windows7下snort+apache+php 7 + acid(或者base) + adodb + jpgraph的入侵检测系统的搭建(图文详解)(博主推荐)

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习.人工智能.区域链研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机 ...

  4. Ubuntu14.04下Mongodb官网卸载部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb官网安装部署步骤(图文详解)(博主推荐) https://docs.mongodb.com/manual/tutorial/ins ...

  5. Ubuntu16.04下Mongodb官网卸载部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐) https://docs.mongodb.com/manual/tutorial/ins ...

  6. Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)

    不多说,直接上干货! 写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentO ...

  7. Ubuntu14.04下Cloudera安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)(在线或离线)

    第一步: Cloudera Manager安装之Cloudera Manager安装前准备(Ubuntu14.04)(一) 第二步: Cloudera Manager安装之时间服务器和时间客户端(Ub ...

  8. Ubuntu14.04下Mongodb数据库可视化工具安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Mongodb官网安装部署步骤(图 ...

  9. Ubuntu14.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu14.04下Mongodb(离线安 ...

随机推荐

  1. 深入js系列-类型(对象)

    开篇 值的传递方式 1.值传递 表示传递过程中复制了值 2.引用传递 表示传递过程中传递的是值的引用 js的传递方式 值传递 看下面的例子 // 这里值传递很容易理解 var a = 1 var b ...

  2. iptables 表和链的对应关系

    filter表 主要用于对数据包进行过滤,根据具体的规则决定是否放行该数据包(如DROP.ACCEPT.REJECT.LOG).filter 表对应的内核模块为iptable_filter,包含三个规 ...

  3. ES6-Generator使用与改写

    用Generator封装Symbol中的iterator方法: 注意:Generator的function后必须写* config:分别有3个txt文件,两个文件写路径,一个文件写要输出的内容 前置写 ...

  4. 微信小程序跳转函数总结

    微信小程序跳转函数总结 ​ 笔者在微信小程序前端的开发过程中,在不同的情况下遇到了需要使用不同的页面跳转逻辑的情况,以下是我对这些函数的使用场景的一个总结介绍. wx.navigateTo 这是最常用 ...

  5. MinGW g++.exe 编译 DLL 时,导出函数名带@的问题

    今天尝试用CodeBlocks写了一个简单的Dll,发现生成的 dll 文件导出的函数名后面都有一个 @xxx 从生成的 libDll2.def 中看到: EXPORTS DllMain@ @ Max ...

  6. 如何快速将磁盘的MBR分区方式改成GPT分区方式

    注:修改分区格式时此硬盘不能是在使用状态(简单说就是不能出现在盘符中),如果在使用中先在计算机的磁盘管理中删除卷. 由于MBR分区表模式的硬盘最大只支持2T的硬盘空间,而现在我们的硬盘越来越大,有时候 ...

  7. SQL工具 Red Gate

    Red Gate提供了很多对于sql server的工具. 这边介绍两个:Sql Prompt和Sql doc Sql Prompt:智能提示sql语句等等 Sql doc:生成数据库文档页面 Red ...

  8. 记一次node节点异常排查

    一.背景 公司进行kubernetes服务重启演练,集群重启后所有服务正常,仅node2节点处于notready状态 二.排查过程 查看对应节点的详细信息,发现kubelet一直处于starting状 ...

  9. 【C++】一个指针占几个字节?为什么呢?

    一个指针在32位操作系统上,占4个字节 一个指针在64位操作系统上,占8个字节 但是,编译器为了兼容32位操作系统和64位操作系统,所以指针都是4个字节长度 为什么呢? 在计算机中,CPU不能直接与硬 ...

  10. [转帖]中国首颗通信能力达10Gbps的低轨宽带卫星出厂

    中国首颗通信能力达10Gbps的低轨宽带卫星出厂 From 新浪科技 原来卫星都能够达到10G带宽了 我们公司的工位还TM有百兆的呢. 近日,中国首颗通信能力可达到10Gbps的5G低轨宽带卫星正式出 ...