PHP安装、配置及拓展

 

主要总结的是PHP的安装、配置、拓展库的添加及验证,实现平台为Unix/Linux/Mac OS X,这里也包括日后的技术文章,只将PHP语言作为服务器端脚本和命令式脚本的使用进行总结,其中不涉及对桌面应用程序的处理。

·     如何安装

·     如何配置

·     如何拓展

·     如何验证

·     遇到问题

.      附加内容

一、如何安装

1、下载安装包

下载地址:http://php.net/downloads.php 下载最新的PHP软件安装包到本地。

2、解压安装包

$ tar –xvf php-5.6.20.tar

3、配置并安装

$ cd php-5.6.20

$ ./configure --enable-fpm --with-mysql // 开启php-fpm和mysql支持

$ make

$ make install

4、创建配置文件

$ cd php-5.6.20

$ cp php.ini-development  /usr/local/php/php.ini

$ cp /usr/local/etc/php-fpm.conf.default  /usr/local/etc/php-fpm.conf

$ cp sapi/fpm/php-fpm  /usr/local/bin

NOTE:

创建配置文件,并将其复制到正确位置才能生效哦。

二、如何配置

1、php.ini配置

对于PHP的配置部分,我们大部分只需要配置php.ini配置文件即可。而这里我们基本保持默认的php.ini中的配置,以后会继续对这个文件进行配置说明及优化。如果文件不存在时,为了防止恶意脚本注入攻击问题,需要阻止Nginx服务器请求发送到php-fpm,所以需要在php.ini中解注释并修改内容如下:

cgi.fix_pathinfo=0

2、涉及到的配置

Php-fpm配置:

参考:

http://blog.csdn.net/why_2012_gogo/article/details/51112477

Nginx配置:

参考:

http://blog.csdn.net/why_2012_gogo/article/details/50908248

Mysql配置:

参考:

http://blog.csdn.net/why_2012_gogo/article/details/51114182

三、如何拓展

在PHP开发中,很多常用的功能是以第三方库形式提供拓展支持的,所以需要为php添加拓展库支持,目前支持三种方式添加拓展,可参考官方说明:

http://php.net/manual/zh/install.pecl.pear.php

而在这里,我比较喜欢使用PHPIZE底层编译安装拓展支持,生成的动态.so库文件存放路径:/usr/local/lib/php/extensions/no-debug-non-zts-20131226,具体如下:

PS:修改过php.ini配置之后,记得重启fpm哦,否则修改不生效。

1、Xcache

$ tar -xvf xcache-3.2.0.tar

$ cd xcache-3.2.0

$ sudo phpize

$ sudo ./configure --enable-xcache --enable-xcache-coverager

--enable-opcache --enable-xcache-optimizer

$ sudo make

$ sudo make install

NOTE:

--enable-xcache:包含对xcache的支持;

--enable-xcache-coverager:包含测量加速器的指标的附加特性;

--enable-xcache-optimizer:包含操作码优化支持;

配置:

php.ini:

[xcache-common]

extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/xcache.so

[xcache.admin]

xcache.admin.enable_auth = On

xcache.admin.user = "admin"

xcache.admin.pass = ""

[xcache]

xcache.shm_scheme ="mmap"

xcache.size=1024M

xcache.count =16

xcache.slots =8K

xcache.ttl=0

xcache.gc_interval =0

xcache.var_size=16M

xcache.var_count =1

xcache.var_slots =8K

xcache.var_ttl=0

xcache.var_maxttl=0

xcache.var_gc_interval =300

xcache.test =Off

xcache.readonly_protection = On

;xcache.mmap_path ="/dev/zero"

xcache.mmap_path ="/tmp/xcache"

xcache.coredump_directory =""

xcache.cacher =On

xcache.stat=On

xcache.optimizer =Off

[xcache.coverager]

xcache.coverager = On

xcache.coveragedump_directory = ""

[opcache]

; so地址

zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/opcache.so

; 开关打开

opcache.enable=1

; 开启CLI

opcache.enable_cli=1

; 可用内存, 酌情而定, 单位为:Mb

opcache.memory_consumption=128

; Zend Optimizer + 暂存池中字符串的占内存总量.(单位:MB)

opcache.interned_strings_buffer=8

; 对多缓存文件限制, 命中率不到 100% 的话, 可以试着提高这个值

opcache.max_accelerated_files=4000

; Opcache 会在一定时间内去检查文件的修改时间, 这里设置检查的时间周期, 默认为2, 定位为秒

opcache.revalidate_freq=60

; 打开快速关闭, 打开这个在PHP Request Shutdown的时候回收内存的速度会提高

opcache.fast_shutdown=1

NOTE:

经过很多的优化处理及确保程序本身没有问题,只是因为操作太多无法再进行优化,这时可以考虑使用xache、apc等PHP加速器来减少cpu解析php文件的性能消耗问题

2、Xdebug

$ tar –xvf xdebug-2.4.0.tar

$ cd debug-2.4.0

$ phpize

$ sudo ./configure –prefix=/usr/local/xdebug

$ sudo make

$ sudo make install

配置:

php.ini:

[xdebug]

xdebug.auto_trace = off

xdebug.auto_profile = off

xdebug.collect_params = on

xdebug.collect_return = on

xdebug.profiler_enable = on

xdebug.remote_enable = off

xdebug.trace_output_dir = "/tmp"

xdebug.profiler_output_dir ="/tmp"

zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so

NOTE:

如何监控和调试PHP程序?这里使用了Xdebug拓展库支持。

3、Mcrypt

$ tar libmcrypt-2.5.8.tar.gz

$ cd libmcrypt-2.5.8

$ sudo ./configure –disable-posix-threads –enable-static

$ sudo make

$ sudo make install

$ cd php-5.6.20/ext/mycrypt

$ sudo phpize

$ sudo ./configure

$ sudo make

$ sudo make install

配置:

php.ini:

extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/mcrypt.so

四、如何验证

1、验证PHP

php –v

2、验证PHP拓展

在验证的PHP的拓展时,有两种方法:

phpinfo()及php –m,这里就以phpinfo()为例说明验证。

Xcache:

Xdebug:

Mcrypt:

五、遇到问题

1、PHP拓展已经安装成功,并且已经添加php.ini配置,也重启了fpm,但是php –m或是phpinfo() 始终不显示。

解决办法:

<? phpinfo() ?> 查看Configuration File (php.ini) Path,这个路径即为当前生效的php.ini存放的路径,那么问题很可能你配置的php.ini路径不对。

2、PHP拓展xcache已经安装及配置完成,也重启了fpm,但是php –m或是phpinfo() 始终不显示。

解决办法:

修改zend_extension=xxx为extension=xxx即可,原因是因为xcache在3.0后,不再支持使用zend_extension加载xcache.so了,而是使用extension加载,也就是只把xcache当作为一个拓展库,对于PHP的加速才是使用zend_extension=xxx/opcache.so。

NOTE:

对于上面的PHP拓展,会在后面的总结文章中进行汇总介绍及使用说明。

六、附加内容

我们可以使用php-config查看当前PHP的相关安装及配置信息:

$php-config  --help

选项说明(来自于官网):


选项


说明


--prefix


PHP 所安装的路径前缀,例如 /usr/local


--includes


列出用 -I 选项包含的所有文件


--ldflags


PHP 编译时所使用的 LD 标志


--libs


PHP 编译时所附加的库


--extension-dir


扩展库的默认路径


--include-dir


头文件的默认路径前缀


--php-binary


PHP CLI 或者 CGI 可执行文件的完整路径


--php-sapis


列出所有可用的 SAPI 模块


--configure-options


重现当前 PHP 在编译时的配置选项


--version


PHP 版本号


--vernum


PHP 版本号,以整数表示

另外,有时我们需要知道所安装的拓展是否需要安装依赖或启动支持,那么可以使用下面的指令查询即可:

$./configure  --help | grep extname(拓展名)

时间: 2024-07-31 16:07:34

PHP安装、配置及拓展的相关文章

PHP安装、配置及拓展总结

版权声明:本文为博主原创文章,未经博主允许不得转载. PHP安装.配置及拓展总结: 本篇文章主要总结的是PHP的安装.配置.拓展库的添加及验证,实现平台为Unix/Linux/Mac OS X,这里也包括日后的技术文章,只将PHP语言作为服务器端脚本和命令式脚本的使用进行总结,其中不涉及对桌面应用程序的处理. ·     如何安装 ·     如何配置 ·     如何拓展 ·     如何验证 ·     遇到问题 .      附加内容 一.如何安装 1.下载安装包 下载地址:http://

Centos7安装配置Apache+PHP+Mysql+phpmyadmin

转载自: Centos7安装配置Apache+PHP+Mysql+phpmyadmin 一.安装Apache yum install httpd 安装成功后,Apache操作命令: systemctl start httpd //启动apache systemctl stop httpd //停止apache systemctl restart httpd //重启apache systemctl enable httpd //设置apache开机启动 异常处理我再阿里云上配置并出现启动Apac

第【一】部分Netzob项目工具的安装配置by tsy

声明: 1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途. 2)若本文档内有侵权文字或图片等内容,请联系作者bitpeach删除相应部分. 3)本文档内容涉及Netzob工具的安装配置,请勿认为本文是讲述使用,Netzob的使用是不在本文讲述的,下一篇博文应该会写Netzob的使用手册. 4)仅仅作为参考用途,抛砖引玉,不作为证据证明用途,请自行取舍,核实引用.文中图片大多为本人原创,如有引用他人图片会注明的. 0目录 目录 0目录    1 [1]引言 

Bind安装配置及应用

Bind安装配置及应用 BIND:Berkeley Internet Name Domain ,ISC.org ? ? DNS服务的实现: ? ? 监听端口:53/UDP , 53/TCP ? ? 程序包:bind 服务器程序:named 客户端工具程序:dig,host ,nslookup [[email protected] ~]# yum repolist Loaded plugins: fastestmirror, refresh-packagekit, security Loading

Centos7 JDK7安装配置

一.准备工作 卸载OpenJDK 1.查找需要卸载的OpenJDK [xsdbc@localhost ~]$ rpm -qa | grep openjdk | grep -v grep java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64 java-1.6.0-openjdk-devel-1.6.0.34-1.13.6.1.el7_0.x86_64 java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x

windows + flutter +android+ vscode 安装配置运行流程(详细版本)

flutter 是由谷歌发布的一个全新的响应式.跨平台.高性能的移动开发框架,可以快速在iOS和Android上构建高质量的原生用户界面. 框架特点 快速开发:Flutter的热重载可以快速地进行测试.构建UI.添加功能并更快地修复错误.富有表现力,漂亮的用户界面:自带的Material Design和Cupertino(iOS风格)widget.丰富的motion API.平滑而自然的滑动效果.响应式框架:使用Flutter的现代.响应式框架,和一系列基础widget,轻松构建您的用户界面.访

CentOS 6.9中Telnet的安装配置

Telnet:TCP/IP协议中的一员,是Internet远程登录服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力.要开始一个Telnet会话,必须输入用户名和密码来登录服务器.Telnet是常用的远程控制Web服务器的方法,监听TCP的23号端口. xinetd:新一代的网络超级守护进程,经常用来管理多种轻量级的Internet服务.xinetd提供类似于inetd+tcp_wrapper的功能,但它更强大更安全.xinetd能够同时监听多个指定的端口,在接受用户请

使用LVS实现负载均衡原理及安装配置详解

转:http://www.cnblogs.com/liwei0526vip/p/6370103.html 使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director

47 监控系统基础及zabbix介绍、zabbix工作原理及安装配置、zabbix on CentOS7、zabbix配置

02    zabbix工作原理及安装配置 配置环境 node1192.168.1.120CentOS6.7 node2192.168.1.121CentOS6.7 1.安装配置zabbix #安装前准备 [[email protected] ~]#yum -y install mysql-server mysq [[email protected] ~]# mysql mysql> CREATE DATABASE zabbix CHARACTER SET utf8; mysql> GRANT