前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos7源码编译安装PHP7.2(生产环境)

Centos7源码编译安装PHP7.2(生产环境)

作者头像
lin_zone
发布2019-11-01 15:06:26
1.2K0
发布2019-11-01 15:06:26
举报
文章被收录于专栏:LIN_ZONELIN_ZONE
  1. 安装PHP依赖包,否则在编译的过程中可能会出现各种报错Centos 安装epel-release源并将系统包更新到最新版本 $ yum install epel-release-y $ yum update # 安装PHP依赖组件(包括Nginx依赖) $ yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel
  2. 创建用户和组,下载PHP安装包并解压 $ cd /tmp $ groupadd www $ useradd -g www www $ wget http://am1.php.net/distributions/php-7.2.1.tar.gz $ tar xvf php-7.2.1.tar.gz $ cd php-7.2.1
  3. 设置变量并开始源码编译 $ cp -frp /usr/lib64/libldap* /usr/lib/ $ ./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --enable-mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --enable-mysqlnd-compression-support \ --with-iconv-dir \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir \ --enable-xml \ --disable-rpath \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --with-curl \ --enable-mbregex \ --enable-mbstring \ --enable-intl \ --with-mcrypt \ --with-libmbfl \ --enable-ftp \ --with-gd \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --with-gettext \ --disable-fileinfo \ --enable-opcache \ --with-pear \ --enable-maintainer-zts \ --with-ldap=shared \ --without-gdbm \ 注:如果报错请根据报错情况安装依赖包
  4. 编译安装make 加上 j 参数 指定并行的job数量 提高编译速度 $ make -j 4 && make install
  5. 完成安装后配置php.ini文件: $ cp php.ini-development /usr/local/php/etc/php.ini $ cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf $ cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
  6. 修改参数
代码语言:txt
复制
1. 修改php.ini
代码语言:txt
复制
    1. $ vim /usr/local/php/etc/php.ini  expose\_php = Off short\_open\_tag = ON max\_execution\_time = 300 max\_input\_time = 300 memory\_limit = 128M post\_max\_size = 32M date.timezone = Asia/Shanghai mbstring.func\_overload=2 extension = "/usr/local/php/lib/php/extensions/no-debug-zts-20160303/ldap.so" 注:ldap是一个轻量级目录访问协议,详情见:
代码语言:txt
复制
    1. 取消以下注释并修改 listen = /var/run/www/php-cgi.sock listen.owner = www listen.group = www listen.mode = 0660 listen.allowed_clients = 127.0.0.1 pm = dynamic listen.backlog = -1 pm.max_children = 180 pm.start_servers = 50 pm.min_spare_servers = 50 pm.max_spare_servers = 180 request_terminate_timeout = 120 request_slowlog_timeout = 50 slowlog = var/log/slow.log
        2. 创建php-cgi.sock存放目录
 $ mkdir /var/run/www/ $ chown -R www:www /var/run/www
        3. 配置php-fpm.conf
 pid = /usr/local/php/var/run/php-fpm.pid
7. 创建system系统单元文件php-fpm启动脚本:
 $ vim /usr/lib/systemd/system/php-fpm.service  # 添加 如下变量内容 Unit Description=The PHP FastCGI Process Manager After=syslog.target network.target  Service Type=simple PIDFile=/usr/local/php/var/run/php-fpm.pid ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID  Install WantedBy=multi-user.target
 注:关于systemctl命令可以参考:

注:本文转自详解Centos7源码编译安装 php7.2之生产篇,如需转载请注明出处https://cloud.tencent.com/developer/article/1531466

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档