菜鸟学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