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

相关推荐

  • 使用monit搭建一个监控系统

     上周用monit搭建或者说定制了一个监控系统,来监控服务器发生事情。当然了主要是监控异常,因为我们的产品属于服务器类型,很多进程都daemon,要不停的运行。我们搭建监控目的不过是出现问题能够及时的知道,平时可从web UI上看到整个系统的状况,同时它本身要轻量级,不要影响性能。当然了类似的产品很多了,比如Ganglia,我在老科长波哥曾经搭建过…

    Linux干货 2015-02-15
  • 常用命令

    基本命令和系统命令

    Linux干货 2017-11-30
  • FHS文件系统

    一、什么是FHS?   Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。 二、它的来源历史 …

    Linux干货 2016-10-17
  • man手册的使用

    在Linux中man的使用频率应该是很高的,灵活运用它可以让自己快速的掌握一个不熟悉命令的使用方法。下面来介绍下man 环境CentOS6.8 man – format and display the on-line manual pages 在线使用手册格式及展示通俗点来说它就是命令的使用手册。它共分九个章节 1、用户命令2、系统调用3、C库调…

    Linux干货 2016-10-19
  • Net25 第二周作业

    一、Linux上的文件管理类命令,其常用的使用方法和相关示例 1、ls:查看文件与目录 作用:ls命令用于显示目录内容,类似于DOS下的dir命令,它的使用权限是所有用户。 用法:ls [选项]…[文件]… 主要选项如下: -a:全部的文件,连同隐藏文件(开头为 .的文件)一起列出来 -A:列出全部的文件(连同隐藏文件,但不…

    系统运维 2016-12-11
  • Homework Week-10 CentOS启动相关及bash脚本编程

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;   (1) 为硬盘新建两个主分区;并为其安装grub;   (2) 为硬盘的第一个主分区提供内核和ramdisk文件; 为第二个分区提供rootfs;   (3) 为rootfs提供…

    Linux干货 2016-10-24