模块安装---PHP

编译环境:gcc  gcc-c++   pcre-devel  openssl-devel   libxml2   libxml2-devel   bzip   bzip-devel

1、解压缩安装包

tar xf php-5.0.5.tar.bz2

2、安装的选项

./configure  --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts

--with-mysql=/usr/local/mysql :告诉mysql在什么地方

--with-openssl :能够支持openssl功能

--with-mysqli=/usr/local/mysql/bin/mysql_config :这是一种让php与mysql交互的接口

--enable-mbstring :让php支持各种语言

--with-freetype-dir :自由的可移植的字体库,能够引用特定字体

--with-jpeg-dir :支持图片的

--with-png-dir :支持图片的

--with-zlib :互联网上通用格式的压缩库(我们的数据文件先压缩后发送)

--with-libxml-dir=/usr :扩展标记语言库

--enable-xml :支持扩展标记语言

--enable-sockets :让你的php支持基于套接字的通信

--with-apxs2=/usr/local/apache/bin/apxs :将它编译成Apache的模块,把这一项改为--enable-fpm :启用fastCGI模式。

--with-mcrypt :支持加密功能 ,额外的加密库

--with-config-file-path=/etc :php配置文件的目录

--with-config-file-scan-dir=/etc/php.d :

--with-bz2  :压缩库

--enable-maintainer-zts :加不加这一项,得看Apache,若为perfork模型不用加,若为event模型或work就要加这一项。

安装中出现的错误可以去百度搜!

安装完成之后进行 make && make install

3、php的配置文件

在安装目录中有两个主配置文件

php.ini-development:一个用于开发环境

php.ini-production:一个用于生产环境

放在/etc目录下,名称为php.ini即可!

cp  php.ini-production  /etc/php.ini

配置好配置文件之后不要启动,因为把他编译成Apache模块!

4、编译安装完成之后,文件在/usr/local/php/,这里面提供的都是一些基本文件。

bin  :php的命令行工具

etc  :为php的其他的子项目所提供的配置文件的存放路径

include  :头文件

lib  :库文件

php  :php帮助手册

var  :

php本身已经安装好了

在第二行已经说明,php的serverAPI模块,他为我们的Apache2添加了一个处理器,让Apache2可以以模块化的方式调用php!

安装路径在第7行叫‘libphp5.so’

5、php与apache结合

到此php本身的配置已经可以了,下面配置是php与Apache结合起来使用

这得需要修改Apache的配置文件来实现

首先得让Apache能够处理php结尾的配置文件

编辑Apache的主配置文件,在AddType这里添加一行

AddType appkication/x-httpd-php .php   --->支持php结尾的文件

AddType appkication/x-httpd-php-source .phps   --->支持phps的文件

6、同时,我们的Apache也应该有php结尾的页面

修改为<IfModule dir_module>

DirectoryIndex  index.html  index.php   --->支持HTML的页面同时支持php的页面

</IfModule>

修改完成之后重新启动!

7、切换到我们的网页默认目录

cd /usr/local/apache/htdocs/

更改网页文件名称: mv index.html index.php

更改内容:

fastcgi---PHP(独立安装)

(1)编译安装php

tar xf php-5.6.10.tar.bz2

cd php-5.6.10

./configure --prefix=/usr/local/php --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-libxml-dir=/usr --with-openssl --with-zlib --with-bz2 --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --with-mcrypt --enable-sockets --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd  --enable-maintainer-zts

提示:

yum -y install bison-devel  gcc gcc-c++ bison-devel  libxml2-devel  openssl-devel  bzip2 bzip2-devel

一、安装gcc 由于是独立的主机 需要配置环境 yum -y install gcc

二、 –with-mysql几个选项都要为mysqlnd;因为mysql服务器单独为另一台主机

三、为了支持apache的worker或event这两个MPM,编译时使用了–enable-maintainer-zts选项。

四、error: xml2-config not found. Please check your libxml2 installation.安装libxml2-devel yum -y install libxml2-devel

五、 error: Cannot find OpenSSL's <evp.h> 安装openssl openssl-devel

六、Please reinstall the BZip2 distribution。 安装bzip2 bzip2-devel .yum install bzip2 bzip2-devel

七、 error: mcrypt.h not found. Please reinstall libmcrypt.安装 libmcrypt libmcrypt-devel 这个需要注意,因为一般的yum源中是没有

这2个package的,所以需要先对其下载安装。

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz获取文件

安装libmcrypt

tar -zxvf libmcrypt-2.5.7.tar.gz

cd libmcrypt-2.5.7

./configure –prefix=/usr/local/libmcrypt

make && make install

安装完毕。

此时需要将php安装的命令中修改 --with-mcrypt=/usr/lib/libmcrypt即可。

make && make install 即可。

(2)配置php

cp php.ini-production /etc/php.ini

配置fpm

为php-fpm提供Sysv init脚本,并将其添加至服务列表:

cp sapi/fpm/init.d.php-fpm  /etc/rc.d/init.d/php-fpm

chmod +x /etc/rc.d/init.d/php-fpm

chkconfig –add php-fpm

chkconfig php-fpm on

chkconfig –list php-fpm

为php-fpm提供配置文件:

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

编辑php-fpm的配置文件:

vim /usr/local/php/etc/php-fpm.conf

配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):

listen = 192.168.2.139:9000    指定端口

pm = dynamic   动态创建进程

pm.max_children = 50        最多多少个进程同时在线

pm.start_servers = 5       刚开始启动服务器时启动几个进程

pm.min_spare_servers = 2    最小几个空闲进程

pm.max_spare_servers = 8     最多有几个空闲

;pm.max_requests = 500   最多一次性接受多少请求

pid = /usr/local/php/var/run/php-fpm.pid

接下来就可以启动php-fpm了:

service php-fpm start

可以使用netstat -tunlp 查看 9000端口

(3)连接Apache

修改配置php-fpm的文件vim /usr/local/php/etc/php-fpm 定位到listen =192.168.197.204:9000(本地主机ip地址)

在该主机上新建虚拟主机目录用于存放网页文件

mkdir -pv /var/www/{frank,frankstar,kelly,kellystar}

(4)配置apache虚拟主机使用php

vim /etc/httpd/httpd.conf

注释 #DocumentRoot "/usr/local/apache/htdocs"

并打开启用 Include /etc/httpd/extra/httpd-vhosts.conf

同时定位 AddType;添加下面两行

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

并且定位至DirectoryIndex

<IfModule dir_module>

DirectoryIndex index.php index.html #添加index.php(最好添加在最前面)

</IfModule>

还要启用proxy_module proxy-fcgi_module等

LoadModule proxy_module modules/mod_proxy.so #开启

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #开启

(5)编辑虚拟主机   路径/etc/httpd/extra/httpd-vhosts.conf

<VirtualHost *:80>

ServerAdmin admin@frank.com

DocumentRoot "/usr/local/apache/www/frank"

ServerName www.frank.com

ErrorLog "/usr/local/apache/logs/frank.error_log"

CustomLog "/usr/local/apache/logs/frank.access_log" combined

ProxyRequests off #关闭正向代理

ProxyPassMatch ^/(.*.php)$ fcgi://192.168.197.204:9000/var/www/frank/$1

<Directory "/usr/local/apache/www/frank"> 授权

Options none

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

然后在php服务器上的/var/www/目录下分别建立网页文件,重启服务即可。

(6)为了提高php的性能安装Xcache

在php服务器中安装,Xcache官网下载: http://xcache.lighttpd.net/wiki/Release-3.2.0 这里使用xcache-3.2.0支持php-5.6-10的稳定版

tar xf xcache-3.2.0.tar.bz2

cd xcache-3.2.0

/usr/local/php/bin/phpize

提示:

如果出现 Cannot find autoconf. Please check your autoconf installation and the

$PHP_AUTOCONF environment variable. Then, rerun this script.

需要安装yum -y install m4 autoconf即可

然后./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

make && make install

安装完毕后会出现这么一行 Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

编辑php.ini,整合php和xcache:

首先将xcache提供的样例配置导入php.ini

# mkdir /etc/php.d

# cp xcache.ini /etc/php.d

说明:xcache.ini文件在xcache的源码目录中。

接下来编辑/etc/php.d/xcache.ini,找到extension开头的行,修改为如下行:

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

注意:如果php.ini文件中有多条extension指令行,要确保此新增的行排在第一位。

然后重启服务即在phpinfo的页面中就可看见xcache的选项了。

CentOS6.7安装部署php5(详解安装选项与主配置文件)的更多相关文章

  1. OpenVPN CentOS7 安装部署配置详解

    一 .概念相关 1.vpn 介绍 vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术.在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利 ...

  2. VS2013安装部署过程详解

    注意:缺少安装部署的小伙伴,看上一篇有详细介绍 程序在“Release”平台下编译运行没有错误 第一步:“新建”------“项目”------“其他项目类型”------“安装部署”------“I ...

  3. 详解php概念以及主配置文件

    浏览器仅能够解码HTML格式的文档,对于非HTML格式的文档,浏览器调用插件或者通过CGI接口调用其他程序来解码. 动态网站: 我们在服务器端或客户端执行了一段脚本或者一段程序,这段程序执行的结果根据 ...

  4. 学习笔记--Grunt、安装、图文详解

    学习笔记--Git安装.图文详解 安装Git成功后,现在安装Gruntjs,官网:http://gruntjs.com/ 一.安装node 参考node.js 安装.图文详解 (最新的node会自动安 ...

  5. Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)

    不多说,直接上干货! 写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentO ...

  6. Ubuntu14.04下Cloudera安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)(在线或离线)

    第一步: Cloudera Manager安装之Cloudera Manager安装前准备(Ubuntu14.04)(一) 第二步: Cloudera Manager安装之时间服务器和时间客户端(Ub ...

  7. Ubuntu14.04下Mongodb数据库可视化工具安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Mongodb官网安装部署步骤(图 ...

  8. Ubuntu14.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu14.04下Mongodb(离线安 ...

  9. Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu16.04下Mongodb(离线安 ...

  10. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

随机推荐

  1. 内置函数、反射、__str__、__del__、元类

    一.内置函数的补充 isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo: pass obj=Foo() print(isinstance(obj,Foo) ...

  2. rsync 使用方法 ssh免密问题 不同端口同步

    不同端口同步(前提还是做好免密) 主要通过选项-e "ssh -p 端口"来实现 重命名了秘钥文件 指定-i即可~ 1. 本地目录同步到导地不同端口主机目录 [root@bakse ...

  3. sizeof 计算 struct 占字节数的方法总结

    矛盾焦点: 1.结构体的内存对齐方式 字节对齐的目的: 1.提高CPU存储变量的速度 计算的核心点(默认对齐方式): 1.结构体内的每一个成员的起始地址跟结构体起始地址的偏移量要刚好是自己字节数的整数 ...

  4. GDAL在VS下配置测试

    刚才在VS2013里面配置了一下GDAL,然后就测试了配置成功与否.熟料,竟然发现在微软的Visual Studio 2013版本中,调用MessageBox()这个函数的时候报错了. 错误信息如下 ...

  5. 自动签发https证书工具 cert manager

    最近cert manager进行升级,不再支持0.11以下的版本了,所以进行升级.但是发现不能直接通过更改镜像版本来升级,在Apps里的版本也是旧版本,部署后发现不支持,于是自已动手,根据文档整理了一 ...

  6. 【2019年05月21日】A股ROE最高排名

    个股滚动ROE = 最近4个季度的归母净利润 / ((期初归母净资产 + 期末归母净资产) / 2). 查看更多个股ROE最高排名. 兰州民百(SH600738) - 滚动ROE:86.45% - 滚 ...

  7. 【C/C++开发】C++11 并发指南二(std::thread 详解)

    上一篇博客<C++11 并发指南一(C++11 多线程初探)>中只是提到了 std::thread 的基本用法,并给出了一个最简单的例子,本文将稍微详细地介绍 std::thread 的用 ...

  8. 记录ssis的两个异常解决办法

    1.Foreach文件枚举提示变量为空的解决办法:把foreach属性窗口中的DelayValidation设置为True就可以了 2.csv导入数据库提示:无法在 unicode 和非 unicod ...

  9. 基于ZYNQ 的UART中断实验之串口写数据到DDR3中

    1.参考 UG585 网络笔记 2.理论知识 参见上一次实验:基于ZYNQ 的UART中断实验 3.实验目的 练习使用UART的中断实验,并将接收到的数据写入到DDR3中. 4.实验过程 建立工程,设 ...

  10. Python【每日一问】30

    问: [基础题]:一个足球队在寻找年龄在10岁到12岁的小女孩(包括10岁和12岁)加入.编写一个程序,询问用户的性别(m表示男性,f表示女性)和年龄,然后显示一条消息指出这个人是否可以加入球队,询问 ...