zoukankan      html  css  js  c++  java
  • centos中安装php7

    centos7下安装php7
    php7 centos7
    
    安装PHP7
    首先安装一些必须的依赖,这里就不阐述了,后面文章再细说
    yum install -y 
    gcc-c++ autoconf 
    libjpeg libjpeg-devel libpng 
    libpng-devel freetype freetype-devel 
    libpng libpng-devel libxml2 libxml2-devel 
    zlib zlib-devel glibc glibc-devel 
    glib2 glib2-devel bzip2 bzip2-devel 
    ncurses curl openssl-devel 
    gdbm-devel db4-devel libXpm-devel 
    libX11-devel gd-devel gmp-devel 
    readline-devel libxslt-devel 
    expat-devel xmlrpc-c xmlrpc-c-devel 
    libicu-devel libmcrypt-devel 
    libmemcached-devel
    下载php7,并解压
    $ cd /usr/src/
    $ wget http://cn2.php.net/distributions/php-7.0.0.tar.gz
    #解压
    $ tar -xzxvf php-7.0.0.tar.gz
    $ cd php-7.0.0.0
    编译,安装
    
    
    centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包
    有两种方法解决,一种是使用第三方源,这样还可以使用yum来安装,简单方便,坏处是第三方源多少有中不可靠的感觉。
    解决办法一
    1、安装第三方yum源
    wget http://www.atomicorp.com/installers/atomic
    sh ./atomic
    2、使用yum命令安装
    yum  install  php-mcrypt  libmcrypt  libmcrypt-devel
         
    解决办法二、
    使用php mcrypt 前必须先安装Libmcrypt
    libmcrypt源码安装方法:
    1 2 3 4 5 6 7
    cd /usr/local/src wget http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz tar -zxvf libmcrypt-2.5.8.tar.gz cd /usr/local/src/libmcrypt-2.5.8 ./configure --prefix=/usr/local make make install
    
    
    具体参数意义以后再说
    $ ./configure --prefix=/usr/local/php7 
    --with-mysql-sock --with-mysqli 
    --enable-fpm  --enable-soap 
    --with-libxml-dir --with-openssl 
    --with-mcrypt --with-mhash 
    --with-pdo-pgsql 
    --with-pcre-regex  --with-zlib 
    --enable-bcmath --with-iconv 
    --with-bz2 --enable-calendar 
    --with-curl --with-cdb --enable-dom 
    --enable-exif --enable-fileinfo 
    --enable-filter --with-pcre-dir 
    --enable-ftp --with-gd 
    --with-openssl-dir --with-jpeg-dir 
    --with-png-dir --with-zlib-dir 
    --with-freetype-dir 
    --enable-gd-native-ttf 
    --enable-gd-jis-conv --with-gettext 
    --with-gmp --with-mhash 
    --enable-json --enable-mbstring 
    --enable-mbregex 
    --enable-mbregex-backtrack 
    --with-libmbfl --with-onig 
    --enable-pdo --with-pdo-mysql 
    --with-zlib-dir  --with-readline 
    --enable-session --enable-shmop 
    --enable-simplexml --enable-sockets 
    --enable-sysvmsg --enable-sysvsem 
    --enable-sysvshm --enable-wddx 
    --with-libxml-dir  --with-xsl 
    --enable-zip 
    --enable-mysqlnd-compression-support 
    --with-pear --enable-intl
    $ make
    $ make install
    上面的命令执行完后php7就已经安装在到了/usr/local/php7目录下了。正常的话我们执行下面的命令
    $ /usr/local/php7/bin/php -v
    PHP 7.0.0 (cli) (built: Dec 13 2015 22:28:12) ( NTS )
    Copyright (c) 1997-2015 The PHP Group
    Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
    接下来我们要做一些简单配置让php运行更简单
    把php加入到系统环境变量中,做个软链即可
    $ ln -sf /usr/local/php7/bin/php /usr/local/bin/php
    $ php -v #和之前的/usr/local/php7/bin/php一样
    添加php.ini,如果是生产环境则cp对应的php.ini-production
    $ cp php.ini-development /usr/local/php7/lib/php.ini
    配置php-fpm,先添加配置文件
    $ cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
    $ cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
    $ cp /usr/src/php-7.0.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    $ chmod +x /etc/init.d/php-fpm
    配置文件添加成功后,我们启动php-fpm
    $ service php-fpm start
    php-fpm启动后我们还需要配置nginx才能通过访问php页面,首先确认nginx是启动的。service nginx restart,
    配置nginx支持php,首先在web目录下新建一个php文件
    $ echo '<?php phpinfo();' > /usr/share/nginx/html/info.php
    然后访问 http://127.0.0.1/info.php,应该看到一个提示下载的页面。这是因为为nginx现在无法处理php文件,接下来我们配置nginx使其将php访问交给php-fpm处理。在/etc/nginx/nginx.conf 的server块里面添加下面的配置
    location ~ .php(/|$) {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    保存退出,并重启nginx
    $ service nginx restart
    现在重新访问 http://127.0.0.1/info.php应该能看到我们熟悉的页面了。
    安装php-memcached
    下载php-memcached,从github上下载,记住一定要选择对应的php7分支
    $ cd /usr/src
    $ git clone https://github.com/php-memcached-dev/php-memcached.git
    $ cd php-memcached/
    $ git checkout php7
    $ /usr/local/php7/bin/phpize
    $ ./configure --with-php-config=/usr/local/php7/bin/php-config
    $ make
    $ make install
    修改php.ini
    $ vi /usr/local/php7/lib/php.ini
    #在最下面加上
    extension=memcached.so
    保存并退出,重启php-fpm
    $ service php-fpm start
    再次访问http://127.0.0.0/info.php,就可以看到memcached已经安装成功了。 
    以上php7,php7-memcached,nginx就已经安装完成了。
    优化
    打开opcache,个性php.ini文件
    $ vi /usr/local/php7/lib/php.ini
    [opcache]
    zend_extension=opcache.so #新加此行
    opcache.enable=1 #删除此行前面的注释,并将0改为1,启用opcache
    opcache.enable_cli=1 #删除此行前面的注释,并将0改为1,在cli模式下启用opcache
    opcache.revalidate_freq=10 #可选,设置10s检查一次文件变化
    通过 http://127.0.0.1/info.php 和 php -i可以看到opcache在web和cli模式下都已经启用了。
  • 相关阅读:
    专职DBA-MySQL体系结构与基本管理
    JSON
    MIME类型
    文件上传下载
    response常用的方法
    2020.11.27小记
    HTTP请求状态码
    1561. Maximum Number of Coins You Can Get
    1558. Minimum Numbers of Function Calls to Make Target Array
    1557. Minimum Number of Vertices to Reach All Nodes
  • 原文地址:https://www.cnblogs.com/lglblogadd/p/8269668.html
Copyright © 2011-2022 走看看