设为首页 收藏本站
查看: 829|回复: 0

[经验分享] centos7安装php7

[复制链接]

尚未签到

发表于 2018-12-14 09:07:27 | 显示全部楼层 |阅读模式
  准备工作:

Yum update & yum upgrade
Yum –y install gcc*  
yum -y install libevent-devel  
yum -y install gperftools  
  编译安装libmcrypt, mhash, mcrypt 二进制源码包
  这里之所以编译安装libmcrypt,原因是yum安装的貌似会报错
  ######编译安装libmcrypt-2.5.7
  [root@vm172-31-48-28 soft]# tar zxvf libmcrypt-2.5.8.tar.gz
  [root@vm172-31-48-28 soft]# cd libmcrypt-2.5.8
  [root@vm172-31-48-28 libmcrypt-2.5.8]# ./configure--prefix=/usr/local/related/libmcrypt
  [root@vm172-31-48-28 libmcrypt-2.5.8]# make &&make install
  ######编译安装mhash-0.9.9.9
  [root@vm172-31-48-28 soft]# tar zxf mhash-0.9.9.9.tar.gz
  [root@vm172-31-48-28 soft]# cd mhash-0.9.9.9
  [root@vm172-31-48-28 mhash-0.9.9.9]# ./configure--prefix=/usr/local/related/mhash
  [root@vm172-31-48-28 mhash-0.9.9.9]# make && makeinstall
  ######编译安装mcrypt-2.6.8
  [root@vm172-31-48-28 soft]# tar zxf mcrypt-2.6.8.tar.gz&& cd mcrypt-2.6.8
  [root@vm172-31-48-28 mcrypt-2.6.8]# exportLD_LIBRARY_PATH=/usr/local/related/libmcrypt/lib:/usr/local/related/mhash/lib
  [root@vm172-31-48-28 mcrypt-2.6.8]# exportLDFLAGS="-L/usr/local/related/mhash/lib-I/usr/local/related/mhash/include/"
  [root@vm172-31-48-28 mcrypt-2.6.8]# exportCFLAGS="-I/usr/local/related/mhash/include/"
  [root@vm172-31-48-28 mcrypt-2.6.8]# ./configure--prefix=/usr/local/related/mcrypt--with-libmcrypt-prefix=/usr/local/related/libmcrypt
  [root@vm172-31-48-28 mcrypt-2.6.8]# make && makeinstall
  ######其他依赖yum安装
  [root@localhost ~]# yum -y install libxml2 libxml2-developenssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel -y
  

  PHP 7编译参数的配置
  注意,操作时一定要先把下面反斜杠“\”后面添加的注释文字去掉!!!
  ######生成配置文件
  [root@vm172-31-48-28 soft]#tar -zxf php-7.0.0.tar.gz&& cd php-7.0.0
  [root@vm172-31-48-28 php-7.0.13]# rm -rf configure
  [root@vm172-31-48-28 php-7.0.13]# ./buildconf --force
  Forcing buildconf
  Removing configure caches
  buildconf: checking installation...
  buildconf: autoconf version 2.69 (ok)
  rebuilding configure
  rebuilding main/php_config.h.in
  ######开始配置
  [root@vm172-31-48-28 php-7.0.13]# ./configure--prefix=/usr/local/php7 --exec-prefix=/usr/local/php7  --bindir=/usr/local/php7/bin--sbindir=/usr/local/php7/sbin --includedir=/usr/local/php7/include--libdir=/usr/local/php7/lib/php --mandir=/usr/local/php7/php/man --with-config-file-path=/usr/local/php7/etc--with-mcrypt=/usr/include --with-mhash --with-openssl--with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd--with-iconv --with-zlib --enable-zip --enable-inline-optimization --disable-debug--disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop--enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp--enable-gd-native-ttf --enable-pcntl --enable-sockets  --with-xmlrpc --enable-soap --without-pear --with-gettext--enable-session --with-curl --with-jpeg-dir --with-freetype-dir--enable-opcache --enable-fpm --enable-fastcgi --with-fpm-user=nginx--with-fpm-group=nginx --without-gdbm--with-mcrypt=/usr/local/related/libmcrypt --disable-fileinfo
  执行上面的配置命令的运行结果如下:

  

  开始编译安装PHP 7
  [root@vm172-31-48-28php-7.0.13]# make clean && make && make install
  PHP7编译安装成功

  [root@vm172-31-48-28php-7.0.13]# ls -lrt/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/
  total 1368
  -rwxr-xr-x 1 root root 256998Nov 30 11:04 mysqli.a
  -rwxr-xr-x 1 root root 193651Nov 30 11:04 mysqli.so
  -rwxr-xr-x 1 root root 501074Nov 30 11:04 opcache.a
  -rwxr-xr-x 1 root root 342253Nov 30 11:04 opcache.so
  -rwxr-xr-x 1 root root  51750 Nov 30 11:04 pdo_mysql.a
  -rwxr-xr-x 1 root root  42613 Nov 30 11:04 pdo_mysql.so
  [root@vm172-31-48-28php-7.0.13]# cp php.ini-production /usr/local/php7/etc/php.ini
  [root@vm172-31-48-28php-7.0.13]# cd /usr/local/php7/etc/
  [root@vm172-31-48-28 etc]# cpphp-fpm.conf.default php-fpm.conf
  [root@vm172-31-48-28 etc]#vim php.ini
  extension_dir= "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
  

  安装memcached
  
  先安装libmemcached
  [root@vm172-31-48-28 soft]#tar -zxvf libmemcached-1.0.8.tar.gz
  [root@vm172-31-48-28 soft]#cd libmemcached-1.0.8
  [root@vm172-31-48-28libmemcached-1.0.8]# ./configure--prefix=/usr/local/libmemcached
  [root@vm172-31-48-28libmemcached-1.0.8]# make&& make install
  

  下载php7的memcached
  [root@vm172-31-48-28 soft]# gitclone https://github.com/php-memcached-dev/php-memcached  
  [root@vm172-31-48-28 soft]# cdphp-memcached   
  [root@vm172-31-48-28 php-memcached]# git checkoutphp7    //非常重要
  Branch php7 set up to track remote branch php7 fromorigin.
  Switched to a new branch 'php7'
  [root@vm172-31-48-28php-memcached]#/usr/local/php7/bin/phpize
  [root@vm172-31-48-28php-memcached]# ./configure --enable-memcached--with-php-config=/usr/local/php7/bin/php-config --with-zlib-dir--prefix=/usr/local/phpmecached --disable-memcached-sasl--with-libmemcached-dir=/usr/local/libmemcached/
  [root@vm172-31-48-28php-memcached]#make && make install
  [root@vm172-31-48-28php-memcached]# vim /usr/local/php7/etc/php.ini
  extension="memcached.so"
  下载nginx1.10.2最新稳定版本
  [root@vm172-31-48-28 soft]#wget http://219.239.26.14/files/321500000944715A/nginx.org/download/nginx-1.10.2.tar.gz
  [root@vm172-31-48-28 soft]#tar -zxvf nginx-1.10.2.tar.gz
  [root@vm172-31-48-28 soft]#cd nginx-1.10.2
  [root@vm172-31-48-28nginx-1.10.2]# useradd nginx
  [root@vm172-31-48-28 nginx-1.10.2]#./configure --prefix=/usr/local/nginx --with-pcre--with-http_stub_status_module --user=nginx --group=nginx
  
  
  配置nginx.conf
  user  nginx nginx;
  worker_processes 4;
  worker_cpu_affinity 0000000100000010 00000100 0000100;
  worker_processes 8;
  worker_cpu_affinity 0000000100000010 00000100 00001000 00010000 00100000 01000000 10000000;
  error_log  logs/nginx_error.log  notice;
  #pid        /usr/local/nginx/logs/nginx.pid
  
  #Specifies the value formaximum file descriptors that can be opened by this process.
  worker_rlimit_nofile 65535;
  
  events
  {
    use epoll;
    worker_connections 65535;
  }
  
  http
  {
    include      mime.types;
    default_type application/octet-stream;
    #charset gb2312;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 2k;
    large_client_header_buffers 4 4k;
    client_max_body_size 8m;
        
    sendfile on;
    tcp_nopush    on;
  
    keepalive_timeout 60;
  
  
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 8 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
  #  fastcgi_temp_path/usr/local/nginx/fastcgi_temp;
  #  # fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=2:2keys_zone=ngx_fcgi_cache:512m inactive=1d max_size=40g;
  #  # fastcgi_cache_valid 200 301 302 1d;
  #  # fastcgi_cache_use_stale error timeout invalid_header http_500;
  #  # fastcgi_cache_key $request_method://$host$request_uri;
  #  # fastcgi_cache ngx_fcgi_cache;
  #  #
  #  # open_file_cache max=204800 inactive=20s;
  #  # open_file_cache_min_uses 1;
  #  # open_file_cache_valid 30s;
    tcp_nodelay on;
    server_tokens off;
  
    gzip on;
    gzip_min_length  1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types       text/plain application/x-javascripttext/css application/xml;
    gzip_vary on;
    #limit_zone myzone_wq $binary_remote_addr  10m;
    # #limit_req_zone $binary_remote_addr zone=wq:10m rate=1r/s;
    log_format access  '$remote_addr -$remote_user [$time_local] "$request" ' '$status $body_bytes_sent"$http_referer" ' '"$http_user_agent"$http_x_forwarded_for';
    include/usr/local/nginx/conf/vhost_conf/*.conf;
  }
  
  [root@vm172-31-48-28 conf]#mkdir vhost_conf/
  [root@vm172-31-48-28vhost_conf]# vim service.conf
  
  server {
      listen  80;
      server_name www.example.com;
      access_log /usr/local/nginx/logs/example.com.access.log;  
  
      location / {
          root /usr/local/nginx/html;
          index index.php index.html index.htm;
      }
  
      location /images {
          autoindex on;
      }
  
      location ~ \.php$ {
          fastcgi_pass   127.0.0.1:9000;
          fastcgi_index  index.php;
          fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
          include fastcgi_params;
      }
  }
  [root@vm172-31-48-28vhost_conf]# vim nginx_status.conf
  
  server
  {
      listen 4444;
      server_name 127.0.0.1;
      location /nginx_status {
          stub_status on;
          access_log off;
      }
  }
  

  完成!

  

  错误提示:
  ERROR: ld.so: object'/usr/local/lib/libtcmalloc_minimal.so' from LD_PRELOAD cannot be preloaded:ignored.
  解决:安装 gperftools 即可!




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-651160-1-1.html 上篇帖子: php参数详解 下篇帖子: php 一些小东西
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表