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

简介:

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

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1884602如需转载请自行联系原作者

Winthcloud
相关文章
|
2月前
|
运维 Unix Linux
Linux系统 PHP安装expect扩展详解
Linux系统 PHP安装expect扩展详解
39 5
|
4月前
|
Linux 应用服务中间件 PHP
Linux下搭建PHP环境-源码编译安装PHP7.2
Linux下搭建PHP环境-源码编译安装PHP7.2
149 0
|
1月前
|
算法 Linux
【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
|
10天前
|
关系型数据库 Linux PHP
linux 编译安装php7.2 实测!!
linux 编译安装php7.2 实测!!
10 0
|
10天前
|
NoSQL Linux PHP
php添加redis扩展 linux和windos图文详解 l
php添加redis扩展 linux和windos图文详解 l
3 0
|
14天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
35 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境
|
21天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
18 0
|
1月前
|
Linux 网络安全 开发工具
【Linux笔记】常用的Linux的指令
【Linux笔记】常用的Linux的指令
|
2月前
|
Linux 数据安全/隐私保护 Android开发
10 个最佳 Linux 开源笔记软件
10 个最佳 Linux 开源笔记软件
109 1
|
2月前
|
JSON JavaScript Java
【PHP】英文博客专栏PHP快速入门个人笔记
【PHP】英文博客专栏PHP快速入门个人笔记
119 1