php7的安装:

centos 7 编译安装 php-7.1.3的步骤

在官网下载php-7.1.3的php压缩包,centos 7 安装 php-7.1.3的步骤,http://cn2.php.net/distributions/php-7.1.3.tar.gz

 
bash
  1. wget -c http://cn2.php.net/distributions/php-7.1.3.tar.gz

下载好后解压 php-7.1.3.tar.gz 压缩包,并进入解压后的目录

 
bash
  1. tar -xzvf php-7.1.3.tar.gz
  2. cd php-7.1.3

安装php7需要的一些依赖库包 libxml2和一些其他依赖的扩展库

 
bash
  1. yum -y install libxml2 
  2. yum -y install libxml2-devel 
  3. yum -y install openssl 
  4. yum -y install openssl-devel 
  5. yum -y install curl-devel 
  6. yum -y install libjpeg-devel 
  7. yum -y install libpng-devel 
  8. yum -y install freetype-devel
  9. yum -y install bzip2-devel
  10. yum -y install libmcrypt libmcrypt-devel
  11. yum -y install postgresql-devel
  12. yum -y install aspell-devel
  13. yum -y install readline-devel
  14. yum -y install libxslt-devel
  15. yum -y install net-snmp-devel
  16. yum -y install unixODBC-devel
  17. yum -y install libicu-devel
  18. yum -y install libc-client-devel
  19. yum -y install libXpm-devel
  20. yum -y install libvpx-devel
  21. yum -y install enchant-devel
  22. yum -y install openldap
  23. yum -y install openldap-devel
  24. yum -y install db4-devel
  25. yum -y install gmp-devel
  26. yum -y install sqlite-devel
  27. yum -y install mysql-devel

安装前的环境配置检查,php7的一些依赖包的检查和php扩展的启动,这个过程如果缺少php依赖的库包会有报错提示。

添加用户和组 groupadd -r www && useradd -r -g www -s /sbin/nologin

 
bash
  1. ./configure  
  2. --prefix=/usr/local/php
  3. --with-config-file-path=/usr/local/php/etc
  4. --enable-fpm
  5. --with-fpm-user=www
  6. --with-fpm-group=www
  7. --enable-inline-optimization
  8. --disable-debug
  9. --disable-rpath
  10. --enable-shared
  11. --enable-soap
  12. --with-xmlrpc
  13. --with-openssl
  14. --with-mcrypt
  15. --with-pcre-regex
  16. --with-sqlite3
  17. --with-zlib
  18. --enable-bcmath
  19. --with-iconv
  20. --with-bz2
  21. --enable-calendar
  22. --with-curl
  23. --with-cdb
  24. --enable-dom
  25. --enable-exif
  26. --enable-fileinfo
  27. --enable-filter 
  28. --with-pcre-dir
  29. --enable-ftp
  30. --with-gd
  31. --with-openssl-dir
  32. --with-jpeg-dir
  33. --with-png-dir
  34. --with-freetype-dir
  35. --enable-gd-native-ttf
  36. --enable-gd-jis-conv
  37. --with-gettext
  38. --with-gmp
  39. --with-mhash
  40. --enable-json
  41. --enable-mbstring
  42. --enable-mbregex
  43. --enable-mbregex-backtrack
  44. --with-libmbfl
  45. --with-onig
  46. --enable-pdo
  47. --with-mysqli=mysqlnd
  48. --with-pdo-mysql=mysqlnd
  49. --with-zlib-dir
  50. --with-pdo-sqlite
  51. --with-readline
  52. --enable-session
  53. --enable-shmop
  54. --enable-simplexml
  55. --enable-sockets
  56. --enable-sysvmsg
  57. --enable-sysvsem
  58. --enable-sysvshm
  59. --enable-wddx
  60. --with-libxml-dir
  61. --with-xsl
  62. --enable-zip
  63. --enable-mysqlnd-compression-support
  64. --with-pear
  65. --enable-opcache

对php7进行编译和安装的操作

 
bash
  1. make && make install

( 如果出现 make: *** [sapi/cli/php] Error 1 的错误,通过继续执行 make ZEND_EXTRA_LIBS='-liconv' 命令解决

编译成功,查看php版本

 
bash
  1. /usr/local/php/bin/php -v

运行php-fpm

 
bash
  1. /usr/local/php/sbin/php-fpm

启动php-fpm可能会遇到的错误,基本都是配置文件配置和重命名的问题:

错误一:缺少www.conf配置文件(WARNING: Nothing  matches the include pattern /usr/local/php/etc/php-fpm.d/*.conf),需要把/usr/local/php/etc/php-fpm.d/*.conf目录中的www.conf.default重名名为www.conf。

错误二:缺少php-fpm.conf配置文件 需要在/usr/local/php/etc/php-fpm.conf 把默认的配置文件php-fpm.conf.default改成php-fpm.conf

错误三:缺少php.ini配置文件 php7编译安装好后会发现没有php.ini配置文件,需要在解压包的根目录中复制php.ini-production或php.ini-development并重命名为php.ini到php编译好的安装目录中的/usr/local/php/etc文件夹即可。


centos 7.2 添加php7 的 php-fpm 开机启动


在centos7中编译安装好php后,系统重启后并不会对php进行开机启动,所以需要对centos7添加开机启动脚本对php进行开机启动服务。

手动启动:

 
bash
  1. /usr/local/php/sbin/php-fpm

开机自动启动:

开启配置php-fpm pid

 
bash
  1. #找到php-fpm.conf配置文件
  2. /usr/local/php/etc/php-fpm.conf
  3. #开启pid ,去掉分号注释
  4. pid = run/php-fpm.pid

创建开机启动脚本

 
bash
  1. vim /etc/init.d/php-fpm #编辑 i
 
bash
  1. #开机启动脚本,脚本代码来自网络,实测有效
  2. #! /bin/sh
  3. # Comments to support chkconfig on CentOS
  4.  
  5. set -e
  6.  
  7. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  8. DESC="php-fpm daemon"
  9. NAME=php-fpm
  10. DAEMON=/usr/local/php/sbin/$NAME
  11.  
  12. CONFIGFILE=/usr/local/php/etc/php-fpm.conf
  13. PIDFILE=/usr/local/php/var/run/$NAME.pid
  14. SCRIPTNAME=/etc/init.d/$NAME
  15.  
  16. # Gracefully exit if the package has been removed.
  17. test -x $DAEMON || exit 0
  18.  
  19. d_start() {
  20.   $DAEMON -y $CONFIGFILE || echo -" already running"
  21. }
  22.  
  23. d_stop() {
  24.   kill -QUIT `cat $PIDFILE` || echo -" not running"
  25. }
  26.  
  27. d_reload() {
  28.   kill -HUP `cat $PIDFILE` || echo -" can't reload"
  29. }
  30.  
  31. case "$1" in
  32.   start)
  33.         echo -"Starting $DESC is success"
  34.         d_start
  35.         echo "."
  36.         ;;
  37.   stop)
  38.         echo -"Stopping $DESC is success"
  39.         d_stop
  40.         echo "."
  41.         ;;
  42.   reload)
  43.         echo -"Reloading $DESC configuration..."
  44.         d_reload
  45.         echo "reloaded."
  46.   ;;
  47.   restart)
  48.         echo -"Restarting $DESC is success"
  49.         d_stop
  50.         sleep 1
  51.         d_start
  52.         echo "."
  53.         ;;
  54.   *)
  55.          echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
  56.          exit 3
  57.         ;;
  58. esac

对开机启动脚本添加所有人都执行的权限

 
bash
  1. chmod a+/etc/init.d/php-fpm

php-fpm加入开机启动服务

 
bash
  1. chkconfig php-fpm on

查看开机启动的所有服务

 
bash
  1. chkconfig --list

服务操作

 
bash
  1. #启动服务
  2. service php-fpm start 
  3. #停止服务
  4. service php-fpm stop  
  5. #重启服务
  6. service php-fpm reload






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值