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
下一篇 2016-11-01

相关推荐

  • n25第二周

    linux文件管理类命令     mkdir,rmdir,cp,mv,rm,chwon,chmod     1.mkdir->make directories(创建目录)     用法:    &nbsp…

    Linux干货 2016-12-11
  • 进程和计划任务

    进程概念 内核的功用:进程管理,文件系统,网络功能,内存管理,驱动程序,安全功能等 Process:运行中的程序的一个副本,是被载入内存的一个指令集和     进程ID(Process ID,PID)号码被用来标记各个进程     UID,GID和SELinux语境决定对文件系统…

    Linux干货 2016-09-13
  • 正则表达式与扩展正则表达式

    基本正则表达式 字符匹配:.:匹配任意单个字符[]:匹配指定范围内的任意单个字符[^]:匹配指定范围外的任意单个字符[-]:匹配[]中指定范围内的任意一个字符,要写成递增POSIX字符类:[:digit:]:匹配任意一个数字字符[:lower:]:匹配小写字母[:upper:]:匹配大写字母[:alpha:]:匹配任意一个字母字符(包括大小写字母)[:aln…

    2017-09-10
  • 文件查找命令之locate、find简析

    文件查找命令之locate、find简析    在工作中经常会在文件系统上查找符合条件的文件,今天学习了文件查找命令,在此简析locate和find两个文件查找工具。 一、杂项知识整理 1、find的选项-user的实质是通过UID查找,如果两个用户的UID相同,其会显示两个用户的所有符合条件的文件。 2、查找时-name "*…

    Linux干货 2016-08-15
  • 马哥教育网络班19期第二周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cd:切换目录命令实例  cd [dirctory] 切换目录  cd .. 返回上一级目录  cd –  来回切换  cd ~  切换到家目…

    Linux干货 2016-06-19
  • Linux文件系统的最基本数据结构:inode和block

    Linux文件系统的最基本数据结构:inode和block 为什么有inode和block inode block 创建目录或文件 使用场景 查看本机的文件系统信息 Linux文件系统的最基本数据结构:inode和block 为什么有inode和block 由于Linux系统是多用户多的,所以文件系统类型多样化是在所难免的。从ext2开始,是将文件属性和文件…

    Linux干货 2016-09-06