php5.5编译安装
系统环境:centos6.5
PHP包:5.5.15
https://wiki.swoole.com/wiki/page/177.html
下载 PHP 源码包
wget http://cn2.php.net/distributions/php-5.5.15.tar.bz2
tar xf php-5.5.15.tar.bz2 -C /usr/local/src/
配置文件: /usr/local/php/etc/php-fpm.conf
配置pid: /var/run/php-fpm/php-fpm.pid
错误日志:error_log=/var/log/php-fpm.log
/etc/php.ini
添加 epel 源
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel
openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel
创建 www 用户
groupadd www
useradd -g www -s /sbin/nologin -M www
编译安装
cd /usr/local/src/php-5.5.15/
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-opcache \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=/usr/local/mysql \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mcrypt \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl \
--with-zlib \
--enable-zip \
--with-bz2 \
--with-readline \
--without-sqlite3 \
--without-pdo-sqlite \
--with-pear
你的 Web Server
使用的 Apache 请添加类似:
--with-apxs2=/usr/local/apache/bin/apxs 参数
--prefix=/usr/local/php \ 安装路径
--with-config-file-path=/etc \ php.ini配置文件路径
--enable-inline-optimization \ 优化项
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-opcache \ 启用 opcache,默认为 ZendOptimizer+(ZendOpcache)
--enable-fpm \ FPM
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=mysqlnd \ MySQL
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext \ 国际化与字符编码支持
--enable-mbstring \
--with-iconv \
--with-mcrypt \ 加密扩展
--with-mhash \
--with-openssl \
--enable-bcmath \ 数学扩展
--enable-soap \ Web 服务,soap 依赖 libxml
--with-libxml-dir \
--enable-pcntl \ 进程,信号及内存
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \ socket & curl
--with-curl \
--with-zlib \ 压缩与归档
--enable-zip \
--with-bz2 \
--with-readline \ GNU Readline 命令行快捷键绑定
--without-sqlite3 \
--without-pdo-sqlite \
--with-pear 更多 PHP 扩展与应用库
编译安装
make -j4
make install
重新安装:
# make clean
# make clean all
# ./configure ...
# make -j4
# make install
配置 PHP
配置文件
# cp php.ini-development /etc/php.ini
php-fpm 服务
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm
启动 php-fpm
# service php-fpm start
Starting php-fpm done
vi ~/.bash_profile
PATH=$PATH:$HOME/bin
改为:
PATH=$PATH:$HOME/bin:/usr/local/php/bin
使 PHP 环境变量生效:# . ~/.bash_profile
查看看 PHP 版本:php -v
设置开机自启
echo service php-fpm start >> /etc/rc.local
rc.local 也可能出现在/etc/init.d的目录下
添加 yum 源
CentOS 6.x 的源
# rpm -Uvh http://download.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
安装 PHP
# yum install --enablerepo=remi,remi-php56 php php-opcache php-pecl-apcu php-devel
php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug
php-pecl-xhprof php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process
php-gd php-common
安装5.6版本为remi-php56,安装5.5版本为remi-php55
在Linux中将php-fpm配置成服务的方法
1.配置php-fpm.conf
vi /usr/local/php/etc/php-fpm.conf
php-fpm.pid 目录必须指向:/usr/local/php/var/run/php-fpm.pid
2.拷贝php-fpm脚本至/etc/init.d目录
cp /home/soft/php-5.3.15/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
3.设置权限并启动php-fpm:
chmod 755 /etc/init.d/php-fpm
/etc/init.d/php-fpm start
chkconfig –add php-fpm
最后,给出php-fpm以服务的方式启动、停止和重启:
service php-fpm start
service php-fpm stop
service php-fpm reload
查看版本信息
php -v
php安装bcmath模块
1 yum -y install php-bcmath
find / -name bcmath.so
2 找到php的配置文件
php -i |grep php.ini
加入代码:extension=bcmath.so
3运行php-m 如果出现
php warning: Module 'bcmath' already loaded in unknow on line 0
说明多次加载了bcmath模块,步骤二不用了。
遇到安装版本库文件失败的情况:
安装高版本的php:使用yum源,启用remi-php56,安装扩展时候报错:
1 yum -y install php-gd --skip-broken
2yum源的问题,选择的yum源和系统版本对不上
yum clean all
rpm --rebuilddb
yum update
或者换个yum源
yum install php-gd --enablerepo=remi-php56
php5.5编译安装的更多相关文章
- 编译安装php5 解决编译安装的php加载不了gd
1. 编译安装php需要的模块: yum install libxml2-devel libxml2 curl curl-devel libpng-devel libpng openssl o ...
- php5.4编译安装--nginx
1.下载源码包 wget 网址/源码包2.解压源码包 tar -zxvf 源码包3.创建一个安装目录 mkdir /usr/local/php4.进入解压后的目录中,初始化安装环境./configur ...
- php5.6编译安装apache
1.下载源码包wget 网址/php-5.6.30.tar.gz2.解压源码包tar -zxvf php-5.6.30.tar.gz3.创建一个安装目录mkdir /usr/local/php4.进入 ...
- php5.4编译安装apache
1.下载源码包 wget 网址/php-5.4.45.tar2.解压源码包 tar -zxvf php-5.4.45.tar3.创建一个安装目录 mkdir /usr/local/php4.进入解压后 ...
- 01.PHP5.x编译详解
##PHP5.5编译安装 ``` wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum i ...
- centos6编译安装zabbix3.0和中文支持整理文档
编者按: 最近公司部分业务迁移机房,为了更方便的监控管理主机资源,决定上线zabbix监控平台.运维人员使用2.4版本的进行部署,个人在业余时间尝鲜,使用zabbix3.0进行部署,整理文档如下,仅供 ...
- PHP编译安装系列
徐亮伟, 江湖人称标杆徐.多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作.擅长Web集群架构与自动化运维,曾负责国内某大型电商运维工作. 个人博客"徐亮伟架构师之路&quo ...
- CENTOS 6.5 平台离线编译安装 PHP5.6.6
一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...
- CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14
准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7. ...
随机推荐
- E. Anton and Tree 数组开大点
http://codeforces.com/contest/734/problem/E 看了题解,缩点 + 树的直径. 然而一直wa14. 注意到, 缩点后重建图,在5的时候,5和6建了一条边,然后6 ...
- 文件共享服务 FTP,NFS 和 Samba
DAS DAS 指 Direct Attached Storage,即直连附加存储,这种设备直接连接到计算机主板总线上,计算机将其识别为一个块设备,例如常见的硬盘,U 盘等,这种设备很难做到共享. N ...
- 【ADO.NET】 使用通用数据库操作类Database (SQL Server)
一.Web.config配置 <connectionStrings> <add name="constr_name" connectionString=" ...
- AJPFX关于枚举,泛型详解
枚举类型是JDK5.0的新特征.Sun引进了一个全新的关键字enum来定义一个枚举类.下面就是一个典型枚举类型的定义:public enum Color{RED,BLUE,BLACK,YELLOW,G ...
- Java GUI简介
Java有2个GUI库:AWT.Swing. AWT是SUN最早提供的GUI库,依赖本地平台,界面不好看,功能有限.之后推出了Swing,Swing并没有完全替代AWT,而是建立在AWT基础上的.Sw ...
- Java开发笔记(九十四)文件通道的性能优势
前面介绍了字节缓存的一堆概念,可能有的朋友还来不及消化,虽然文件通道的用法比起传统I/O有所简化,可是平白多了个操控繁琐的字节缓存,分明比较传统I/O更加复杂了.尽管字节缓存享有缓存方面的性能优势,但 ...
- 【转】几种Java序列化方式的实现
0.前言 本文主要对几种常见Java序列化方式进行实现.包括Java原生以流的方法进行的序列化.Json序列化.FastJson序列化.Protobuff序列化. 1.Java原生序列化 Java原生 ...
- re正则表达式公式讲解1
常用的表达式一些规则 1.“.” 匹配出了\n之外的任意一个字符,包括特殊字符 有几个·就匹配几个字符. import re print(re.search("."," ...
- Really simple SSH proxy (SOCKS5)
原文: https://thomashunter.name/blog/really-simple-ssh-proxy-socks5/ SOCKS5 is a simple, eloquent meth ...
- centos设置系统时间
系统日期设定成1996年6月10日上午9点date -s 06/22/96date -s 09:00:00