系统环境: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