准备安装环境
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 sqlite-devel jemalloc jemalloc-devel # 以上部分为安装php所需组件,如果已经yum安装,或者编译安装,忽略以上步骤 cd /home/yourname wget http://cn2.php.net/distributions/php-5.6.30.tar.gz tar zvxf php-5.6.30.tar.gz cd php-5.6.30 groupadd user-name useradd -g user-name -s /sbin/nologin user-name编译安装
./configure --prefix=/usr/local/php56 \ --with-config-file-path=/usr/local/php56/etc \ --enable-inline-optimization --disable-debug \ --disable-rpath --enable-shared --enable-opcache \ --enable-fpm --with-fpm-user=www \ --with-fpm-group=www \ --with-mysql=mysqlnd \ --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-freetype-dir \ --with-readline ##参数解释 """ 安装路径 """ --prefix=/usr/local/php56 \ """ php.ini 配置文件路径 """ --with-config-file-path=/usr/local/php56/etc \ """ 优化选项 """ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ """ 启用 opcache,默认为 ZendOptimizer+(ZendOpcache) """ --enable-opcache \ """ FPM """ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ """ MySQL """ --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ """ 国际化与字符编码支持 """ --with-gettext \ --enable-mbstring \ --with-iconv \ """ 加密扩展 """ --with-mcrypt \ --with-mhash \ --with-openssl \ """ 数学扩展 """ --enable-bcmath \ """ Web 服务,soap 依赖 libxml """ --enable-soap \ --with-libxml-dir \ """ 进程,信号及内存 """ --enable-pcntl \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ """ socket & curl """ --enable-sockets \ --with-curl \ """ 压缩与归档 """ --with-zlib \ --enable-zip \ --with-bz2 \ """ GNU Readline 命令行快捷键绑定 """ --with-readlinemake && make install
安装过程中 报错 configure: error: xml2-config not found. Please check your libxml2 installat
没安装libxml2插件,因为我的是新装的centos系统,所以里面会缺失各种依赖包,继续安装版libxml2插件:
yum install libxml2所有类似报错,都是少装插件,安装插件后,继续……
具体操作方法参考: http://www.php.cn/php-weizijiaocheng-376296.html
#重新安装 make clean make clean all ./configure make && make install配置服务
#配置文件 cp php.ini-development /usr/local/php/etc/php.ini #php-fpm 服务 cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf #方案1,从解压后的php源码文件中拷贝php-fpm cd /home/yourname/php-5.6.30/ cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #或者 #方案2,从安装目录拷贝php-fpm cp /usr/local/php56/sbin/php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm #设置开机自启,并启动php-fpm chkconfig --add php-fpm chkconfig on php-fpm service php-fpm start需要注意的是,在 php-fpm.conf 中修改 user 和 group 中修改为系统已有用户和组。
user = user-name group = user-name修改php端口,在 php-fpm.conf 中修改
listen = 127.0.0.1:9000环境变量
vim /etc/profile/etc/profile 中插入
PATH=$PATH:/usr/local/php/bin export PATH编辑、保存、退出
立即执行生效
source /etc/profile开机启动php-fpm,开机启动的配置文件是:/etc/rc.local ,加入 /usr/local/sbin/php-fpm 即可
vim /etc/rc.local插入
/usr/local/sbin/php-fpm启动时,只需输入
#启动 service php-fpm start #停止 service php-fpm stop #重启 service php-fpm reload启动多版本PHP,分别执行不同版本下的 php-fpm
/usr/local/php7/sbin/php-fpm /usr/local/php5/sbin/php-fpmphp-fpm默认监听的端口号为9000,如果我们想修改端口号或部署多个系统在不同的端口号时应该如何做呢?
1. 修改监听的端口
通过查看php-fpm的配置文件/etc/php-fpm.conf可以看到include=/etc/php-fpm.d/*.conf的配置,在/etc/php-fpm.d/文件夹中存在www.conf配置文件,打开文件编辑listen=127.0.0.1:9000,将端口号改为其他端口号,然后重启php-fpm.service服务。重启完后,修改nginx配置并重启,即可生效。
2. 部署多个系统在不同的端口号
经检查php-fpm的相关配置文件有:
/etc/php-fpm.conf/etc/php-fpm.d/www.conf/var/run/php-fpm/php-fpm.pid/usr/lib/systemd/system/php-fpm.service当需要部署多个系统在不同的端口时,可以复制上述4个文件,修改2中的监听端口号,修改4中的启动项,使用-y 制定php-fpm启动的配置文件即可。
配置多版本php,参考:https://www.jianshu.com/p/49fbc8d918db https://www.jianshu.com/p/600ef6e83af1
安装 MariaDB,参考:https://www.cnblogs.com/zenghua/p/7149646.html https://www.cnblogs.com/freelandun/p/7841640.html
centos7 安装 php7 的过程类似,可以参考:https://blog.csdn.net/anzhen0429/article/details/79272893