centos7安装php7

准备工作:

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

执行上面的配置命令的运行结果如下:

centos7安装php7

开始编译安装PHP 7

[root@vm172-31-48-28php-7.0.13]# make clean && make && make install

PHP7编译安装成功 

centos7安装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 /p_w_picpaths {

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

原创文章,作者:QXLLR,如若转载,请注明出处:http://www.wangzhanshi.com/n/7051.html

(0)
QXLLR的头像QXLLR
上一篇 2025年1月1日 16:38:06
下一篇 2025年1月1日 16:38:08

相关推荐

  • PHP7下如何安装Stone能提升Laravel框架性能

    在PHP7下安装Stone大幅度提升Laravel框架性能 众所周知,PHP框架越重,性能相对就越低,因为重型框架会在解析时调用非常多的类、方法和自定义函数,导致性能严重下降。 L…

    php 2025年1月1日
  • php函数版本更新的方法和使用工具

    更新 php 函数版本至关重要,可提高安全性、性能和代码可维护性。详细描述:评估影响:确定依赖于过时函数的代码并评估更新影响。制定计划:制定分阶段更新计划,从不重要函数开始。编写测…

    php 2024年12月17日
  • php5 session丢失的解决方法

    php5 session丢失的解决办法:1、修改“php.ini”配置文件;2、使用“Fecade Session::get()”获取或使用助手函数“session()”;3、重启…

    2025年1月2日
  • 如何PHP中对Xdebug进行扩展

    测试环境 LNMP 军哥一键包1.3版本 PHP 7.0.7 Xdebug 2.6 配置步骤 根据自身环境执行下列命令进行安装,切记不可原样复制执行 git clone git:/…

    2025年1月1日
  • PHP7如何安装使用

    PHP 7安装使用体验:性能大提升,兼容性强,扩展支持不够,升级PHP要谨慎 一、发挥PHP 7高性能的几个要点 PHP 7相对于之前的PHP版本来说可以说性能有了质的飞跃,但是所…

    2025年1月1日
  • PHP7.2源码安装

    php有什么特点 1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库。4、面向对象编程:PHP提供了类和对象。5、版本更新速度快。6、具有丰富的…

    2025年1月1日
  • 怎么在PHP7项目中安装Swoole、Yar和Yaf

    php有什么用 php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因…

    2025年1月1日
  • PHP 7.4.5的错误修复大汇总

    本篇文章和大家了解一下PHP 7.4.5的错误修复大汇总。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 PHP 7.4.5的错误修复 修复了错误#79364(复…

    2025年1月1日
  • 如何理解系统经典模型Wide与Deep

    摘要 在大规模特征的场景当中,我们通常(2016年之前)是使用将非线性特征应用在线性模型上的做法来实现的,使用这种方式,我们的输入会是一个非常稀疏的向量。虽然我们要实现这样的非线性…

    2025年1月2日
  • Windows Server 2016服务器配置指南之怎么搭建PHP7运行环境

    因为 PHP7 在 Windows 已经提供了完整的 64bit 支持,所以选择 64bit 系统安装 64bit PHP7 将获得更好的性能表现。 PHP7 需要 VC14 ( …

    2025年1月1日

发表回复

登录后才能评论