码迷,mamicode.com
首页 > Web开发 > 详细

centos7安装php7

时间:2017-03-24 14:32:33      阅读:957      评论:0      收藏:0      [点我收藏+]

标签:centos7   php7   nginx   

准备工作:

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 即可!

本文出自 “windows与linux” 博客,转载请与作者联系!

centos7安装php7

标签:centos7   php7   nginx   

原文地址:http://zhangxuelei.blog.51cto.com/865170/1909935

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!