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

相关推荐

  • VSFTPD+PAM+[基于文件虚拟用户认证 | 基于MYSQL虚拟用户认证]

    VSFTPD+PAM+[基于文件虚拟用户认证 | 基于MYSQL虚拟用户认证] VSFTPD+PAM+[基于文件虚拟用户认证 | 基于MYSQL虚拟用户认证] 一、实验环境 二、实验步骤 1、通过mysql数据库方式虚拟用户认证 1.1数据库配置 1.2FTP配置 1.3测试 2、通过文件方式进行虚拟用户认证 一、实验环境 CentOS 6.7+vsftpd…

    Linux干货 2016-04-18
  • Linux基础 sed命令详解

    概述 sed是一个流编辑器(Stream EDitor)。主要用于自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。本文主要讲述了: sed工作原理 sed命令格式及常用选项 应用实例 高级编辑命令 sed工作原理 sed命令运行过程中维护着两个缓冲区,一个是活动的“模式空间(pattern space)”,另一个是起辅助作用的“暂存缓冲区(ho…

    Linux干货 2016-08-12
  • N25-第18周博客作业

    1、为LNMP架构添加memcached支持,并完成对缓存效果的测试报告; LNMP的安装过程不再赘述. # yum install -y memcached # cat /etc/sysconfig/memcached  PORT=”11211″   &nb…

    2017-05-21
  • N22-第一周作业

    1、描述计算机的组成及其功能    组成:        硬件:            CPU:运算器、控制器、寄存器、缓存     &nb…

    Linux干货 2016-08-15
  • Hadoop hdfs 分布式文件系统

    Hadoop简介:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件…

    Linux干货 2017-04-19
  • Bash基础命令操作

    Bash基础命令操作

    2018-03-18