菜鸟学Linux 第055篇笔记 php基础




ActiveX 是一个客户端执行动态脚本解释器


apache

DSO (dynamic shared object)

CGI (Common Gateway Interface)

protocol

web进程

MVC (Model View Controller)

软件设计框架,在web里可以实现将动态数据处理和添加html格式分离开来执行

(个人狭义的理解)


webapp


编程语言

静态语言:编译型语言

C、C++, JAVA

优点:性能好、

缺点:每一次改动都需要重新编译,每一个环节都需要自制,

 开发周期长,维护成本大

适用环境:对实时性要求高,性能要求高,

 如数据库服务器软件,操作系统,驱动

动态语言:解释型语言

shell, perl, python

优点:便于维护,众多共享模块,开发周期短

缺点:性能相对静态差一些


facebook

动态语言-->静态语言

php-->Hiphop-->C++


asp, php

php (PHP is Hypertext Preprocessor)

官方网站:www.php.net



编译解释查错

词法分析

语法分析

生成执行路径



php 解释型


php source code --> 编译成二进制 --> 执行二进制格式


opcode 操作码 编译生成的 只可以zend engine 里运行


缓存器 (加速器)

APC (Alternative PHP Cache)

eAccelerator

XCache

Zend Optimizer 



PHP 源码目录结构

1、build 主要放置一些跟源码编译相关的文件,比如构建之前的buildconf脚本

及一些检查环境的脚本

2、ext 官方的扩展目录,包括了绝大多数的PHP函数的定义和实现,如array系列

pdo系列、sql系列等函数的实现,个人开发的扩展在测试时也可以放到此

目录,以方便测试等

3、main  存放PHP最为核心的文件,是实现PHP的基础设施,这里和Zend引擎不一样

Zend引擎主要实现最核心的语言环境。

4、Zend  Zend引擎的实现目录,如脚本的词法语法解析,opcode的执行以及扩展机制

的实现等等

5、pear  PHP 扩展与应用仓库,包含PEAR的核心文件

6、sapi  包含了各种服务器抽象层的代码,如apached的mod_php, cgi, fastcgi,fpm等

7、TSRM  PHP的线程安全是构建在TSRM库之上的,PHP实现中常见的*G宏通常是对TSRM的

封装,(Thread Safe Resource Manager)

8、tests PHP的测试脚本集合,包含PHP各项功能的测试文件

9、win32 主要包括windows平台相关的一些实现,如socket的实现在windows下和*Nix

平台不太一样,同时也包括了windows下编译PHP相关的脚本。




HTML 格式

<html>

<head>

<title> </title>

</head>

<body>

</body>

</html>



apache+php

CGI 当有用户请求动态页面时打开另外一个进程来处理该动态请求

Module 请求动态页面时,由apache进程内部来处理该动态请求

FastCGI 将动态处理请求完全和apache分离出来成为一个单独的程序来响应

客户的动态页面请求


Nginx 处理静态内容比apache性能要强很多



使httpd服务器实现动态脚本处理 

yum install php53 php53-mbstring

mbstring Multi-Byte string 多字节字符串

cli Command-Line Interface