• 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模式下都已经启用了。
  • 相关阅读:
    产品经理之PRD详解(非原创)
    编写代码的「八荣八耻」- 以开关上线为荣,以自信编码为耻
    安装社区版git仓库
    【干货分享】大话团队的GIT分支策略进化史
    Android IPC机制(一)开启多进程
    使用adb命令通过IP地址连接手机
    一篇文章了解Github和Git教程-AndroidStudio上传Github教程
    sublime实现markdown浏览器预览
    idea上maven使用心得(三)——用pom.xml添加jar包
    idea解决Maven jar依赖冲突(四)
  • 原文地址:https://www.cnblogs.com/lglblogadd/p/8269668.html
Copyright © 2020-2023  润新知