php 配置

 

php

php不能单独使用都是与httpd结合使用 结合的方式主要是两种一种为模块方式服务于httpd,一种为单独服务方式服务httpd

两种方式不能共存

安装软件包也不相同 网上有官方中文手册 http://php.net/download-docs.php php对中文的支持需要安装php-mbstring php对mysql的支持需要安装php-mysql

php运行原理

PHP总共有三个模块:内核、Zend引擎、以及扩展层;PHP内核用来处理请求、文件流、错误处理等相关操作;Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;扩展层是一组函数、类库和流,PHP使用它们来执行一些特定的操作。比如,我们需要mysql扩展来连接MySQL数据库;当ZE执行程序时可能会需要连接若干扩展,这时ZE将控制权交给扩展,等处理完特定任务后再返还;

最后,ZE将程序运行结果返回给PHP内核,它再将结果传送给SAPI层,最终输出到浏览器上。 PHP实现了一个典型的动态语言执行过程:拿到一段代码后,经过词法解析、语法解析等阶段后,源程序会被翻译成一个个指令 (opcodes),然后ZEND虚拟机顺次执行这些指令完成操作。

以上引用网上有php运行原理的文章

以模块方式于httpd结合

安装php

Installing:
 php                          x86_64    5.4.16-36.el7_1        base  1.4 M
Installing for dependencies:
 apr                          x86_64    1.4.8-3.el7            base  103 k  ##php与httpd钩子
 apr-util                     x86_64    1.5.2-6.el7            base  92 k
 httpd                        x86_64    2.4.6-40.el7.centos    base  2.7 M  ##php以模块方式为httpd提供给服务,所以php依赖httpd服务
 httpd-tools                  x86_64    2.4.6-40.el7.centos    base  82 k
 libzip                       x86_64    0.10.1-8.el7           base  48 k
 mailcap                      noarch    2.1.41-2.el7           base  31 k
 php-cli                      x86_64    5.4.16-36.el7_1        base  2.7 M  ##执行php脚本的命令行接口,服务于php和CGI
 php-common                   x86_64    5.4.16-36.el7_1        base  563 k

[root@centos7 ~]# rpm -ql php          ##php以模块方式为httpd提供给服务,所以php依赖httpd服务
/etc/httpd/conf.d/php.conf             ##配置httpd如何处理用户请求调用php模块
/etc/httpd/conf.modules.d/10-php.conf  ##httpd加载php模块的配置    
/usr/lib64/httpd/modules/libphp5.so    ##安装后,php自身为httpd的模块
/usr/share/httpd/icons/php.gif        
/var/lib/php/session                   ##php保持的用户会话文件,php追踪用户用的。session是有有效期的。  

[root@centos7 ~]# rpm -ql php-common  ##php的公共组件,也就是常用组件
/etc/php.d
/etc/php.d/curl.ini
/etc/php.d/fileinfo.ini
/etc/php.d/json.ini
/etc/php.d/phar.ini
/etc/php.d/zip.ini
/etc/php.ini                          ##配置php解释器工作环境;

以单独服务方式于httpd结合

安装php-fpm

Installing:
 php-fpm                     x86_64    5.4.16-36.el7_1      base        1.4 M ##以独立守护进程的方式提供php动态资源服务
Installing for dependencies:
 libzip                      x86_64    0.10.1-8.el7         base         48 k
 php-common                  x86_64    5.4.16-36.el7_1      base        563 k

[root@centos7 ~]# rpm -ql php-fpm
/etc/logrotate.d/php-fpm
/etc/php-fpm.conf           ###配置fpm守护进程的工作模式;怎么与客户端交互的(httpd)
/etc/php-fpm.d
/etc/php-fpm.d/www.conf
/etc/sysconfig/php-fpm

[root@centos7 ~]# rpm -ql php-common  ##php的公共组件,也就是常用组件
/etc/php.d
/etc/php.d/curl.ini
/etc/php.d/fileinfo.ini
/etc/php.d/json.ini
/etc/php.d/phar.ini
/etc/php.d/zip.ini
/etc/php.ini                         #####配置php解释器工作环境;


FastCGI 进程管理器(FPM)

FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的。

它的功能包括:

支持平滑停止/启动的高级进程管理功能;

可以工作于不同的 uid/gid/chroot 环境下,并监听不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的设置);

stdout 和 stderr 日志记录;

在发生意外情况的时候能够重新启动并缓存被破坏的 opcode;

文件上传优化支持;

"慢日志" - 记录脚本(不仅记录文件名,还记录 PHP backtrace 信息,可以使用 ptrace或者类似工具读取和分析远程进程的运行数据)运行所导致的异常缓慢;

fastcgi_finish_request() - 特殊功能:用于在请求完成和刷新数据后,继续在后台执行耗时的工作(录入视频转换、统计处理等);

动态/静态子进程产生;

基本 SAPI 运行状态信息(类似Apache的 mod_status);

基于 php.ini 的配置文件。

原创文章,作者:yyw,如若转载,请注明出处:http://www.178linux.com/56552

(0)
yywyyw
上一篇 2016-11-01 10:11
下一篇 2016-11-01 10:14

相关推荐

  • 知识提炼之0714

    history          history[-c] [-d offset] [n]          history-anrw [filename]    &nbs…

    Linux干货 2017-07-14
  • lvm 逻辑卷 和 网络管理

    lvm 逻辑卷 和 网络管理 逻辑卷管理器(LVM) LVM:      Logical Volume Manager, Version: 2  dm: device mapper:     将一个或多个底层块设备组织成一个 逻辑设备的模块   设备名:     /dev/d…

    Linux干货 2016-09-01
  • 运维监控大数据的提取与分析

    本文内容整理来自【敏捷运维大讲堂】蒋君伟老师的线上直播分享。分别从以下3个维度来分享:1、云时代监控分析的窘境;2、使用标签标记监控数据的维度;3、监控数据应用场景。 云时代监控分析的窘境 在虚拟化与容器技术广泛应用的情况下,运维对象大规模地增长,监控平台每天存储的指标都以亿计,所以监控数据如今已经成了大数据。传统的监控工具在这种场景下,对于数据的提取分析,…

    系统运维 2017-01-09
  • linux之文本处理工具

    今天来聊一聊关于linux中处理shell的文本工具,主要说说以下命令:  · 文件查看命令:cat、tac、  · 分页查看文件内容:more、less  · 显示文本前行或后行内容:head、tail  · 按列抽取文本:cut  · 合并文件:paste  · 文…

    2017-07-29
  • 新的开始

    加入马帮,新的开始,加油!

    Linux干货 2016-09-19
  • 计算机和操作系统的一些概念

    一、计算机组成     (一) 硬件         CPU:运算器、控制器、寄存器、缓存器         存储器:主内存,RAM(Random Access…

    Linux干货 2016-08-15