zoukankan      html  css  js  c++  java
  • 在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0

    编译自:http://linoxide.com/linux-how-to/install-php-7-centos-7-fedora-21/作者: Aun Raza
    原创:LCTT https://linux.cn/article-5501-1.html译者: wi-cuckoo
    转载地址:https://linux.cn/article-5501-1.html

     

    PHP7

    • 为了改善执行效率与内存占用,新的版本添加了PHPNG功能。
    • 引入了JIT引擎来动态编译Zend操作码为自然机器码,以此来达到更快的处理性能。这项功能允许随后的程序调用同一份代码,这样会运行快很多。
    • AST(抽象语法树)是最新添加的功能,它可以增强支持PHP的扩展性和用户应用。
    • 添加异步编程功能以支持同一个请求中的并行任务。
    • 新的版本会支持独立的多线程网页服务器,这样可以使用一个单独的存储池处理很多并发的请求。

    在CentOS/Fedora上安装PHP 7

    让我们来看看怎样在CentOS 7和Fedora 21安装PHP7。为了安装PHP7,我们首先需要克隆php-src 仓库。当克隆工作完成,我们再配置和编译它。进行下一步之前,我们要确保已经在LInux系统下安装了如下的组件,否则PHP编译会返回错误中止。

    • Git
    • autoconf
    • gcc
    • bison

    所有上面提到的要求可以使用Yum软件包管理器安装。以下一条命令即可完成:

    1. yum install git autoconf gcc bison

    准备好开始安装PHP7了吗?让我们先创建一个PHP7目录,作为你的当前工作目录。

    1. mkdir php7
    2. cd php7

    现在克隆php-src仓库,在终端里运行下面的命令。

    1. git clone https://git.php.net/repository/php-src.git

    /*我这里网特别慢,我看了个电影看了顿饭又睡了一觉才好*/

    这里是一个样例输出,你应该会在任务完成时看见。

    1. [root@localhost php7]# git clone https://git.php.net/repository/php-src.git
    2. Cloning into 'php-src'...
    3. remote: Counting objects: 615064, done.
    4. remote: Compressing objects: 100% (127800/127800), done.
    5. remote: Total 615064 (delta 492063), reused 608718 (delta 485944)
    6. Receiving objects: 100% (615064/615064), 152.32 MiB | 16.97 MiB/s, done.
    7. Resolving deltas: 100% (492063/492063), done.

    让我们来配置,编译PHP7,在终端运行下面的命令,开始配置工作:

    1. cd php-src
    2. ./buildconf

    下面是./buildconf命令的样例输出。

    1. [root@localhost php-src]# ./buildconf
    2. buildconf: checking installation...
    3. buildconf: autoconf version 2.69 (ok)
    4. rebuilding aclocal.m4
    5. rebuilding configure
    6. rebuilding main/php_config.h.in

    使用下面的命令,继续配置进程:

    1. ./configure
    2. --prefix=$HOME/php7/usr
    3. --with-config-file-path=$HOME/php7/usr/etc
    4. --enable-mbstring
    5. --enable-zip
    6. --enable-bcmath
    7. --enable-pcntl
    8. --enable-ftp
    9. --enable-exif
    10. --enable-calendar
    11. --enable-sysvmsg
    12. --enable-sysvsem
    13. --enable-sysvshm
    14. --enable-wddx
    15. --with-curl
    16. --with-mcrypt
    17. --with-iconv
    18. --with-gmp
    19. --with-pspell
    20. --with-gd
    21. --with-jpeg-dir=/usr
    22. --with-png-dir=/usr
    23. --with-zlib-dir=/usr
    24. --with-xpm-dir=/usr
    25. --with-freetype-dir=/usr
    26. --with-t1lib=/usr
    27. --enable-gd-native-ttf
    28. --enable-gd-jis-conv
    29. --with-openssl
    30. --with-mysql=/usr
    31. --with-pdo-mysql=/usr
    32. --with-gettext=/usr
    33. --with-zlib=/usr
    34. --with-bz2=/usr
    35. --with-recode=/usr
    36. --with-mysqli=/usr/bin/mysql_config

    这会花去不少的时间,当完成后你应该会看到如下面的输出:

    1. creating libtool
    2. appending configuration tag "CXX" to libtool
    3. Generating files
    4. configure: creating ./config.status
    5. creating main/internal_functions.c
    6. creating main/internal_functions_cli.c
    7. +--------------------------------------------------------------------+
    8. | License: |
    9. | This software is subject to the PHP License, available in this |
    10. | distribution in the file LICENSE. By continuing this installation |
    11. | process, you are bound by the terms of this license agreement. |
    12. | If you do not agree with the terms of this license, you must abort |
    13. | the installation process at this point. |
    14. +--------------------------------------------------------------------+
    15. Thank you for using PHP.
    16. config.status: creating php7.spec
    17. config.status: creating main/build-defs.h
    18. config.status: creating scripts/phpize
    19. config.status: creating scripts/man1/phpize.1
    20. config.status: creating scripts/php-config
    21. config.status: creating scripts/man1/php-config.1
    22. config.status: creating sapi/cli/php.1
    23. config.status: creating sapi/cgi/php-cgi.1
    24. config.status: creating ext/phar/phar.1
    25. config.status: creating ext/phar/phar.phar.1
    26. config.status: creating main/php_config.h
    27. config.status: executing default commands

    运行下面的命令,完成编译过程。

    1. make

    “make”命令的样例输出如下所示:

    1. Generating phar.php
    2. Generating phar.phar
    3. PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
    4. clicommand.inc
    5. directorytreeiterator.inc
    6. directorygraphiterator.inc
    7. pharcommand.inc
    8. invertedregexiterator.inc
    9. phar.inc
    10. Build complete.
    11. Don't forget to run 'make test'.

    安装PHP7,运行下面的命令安装它。

    1. make install

    成功安装的进程的样例输出应该像这样:

    1. [root@localhost php-src]# make install
    2. Installing shared extensions: /root/php7/usr/lib/php/extensions/no-debug-non-zts-20141001/
    3. Installing PHP CLI binary: /root/php7/usr/bin/
    4. Installing PHP CLI man page: /root/php7/usr/php/man/man1/
    5. Installing PHP CGI binary: /root/php7/usr/bin/
    6. Installing PHP CGI man page: /root/php7/usr/php/man/man1/
    7. Installing build environment: /root/php7/usr/lib/php/build/
    8. Installing header files: /root/php7/usr/include/php/
    9. Installing helper programs: /root/php7/usr/bin/
    10. program: phpize
    11. program: php-config
    12. Installing man pages: /root/php7/usr/php/man/man1/
    13. page: phpize.1
    14. page: php-config.1
    15. Installing PEAR environment: /root/php7/usr/lib/php/
    16. [PEAR] Archive_Tar - installed: 1.3.13
    17. [PEAR] Console_Getopt - installed: 1.3.1
    18. [PEAR] Structures_Graph- installed: 1.0.4
    19. [PEAR] XML_Util - installed: 1.2.3
    20. [PEAR] PEAR - installed: 1.9.5
    21. Wrote PEAR system config file at: /root/php7/usr/etc/pear.conf
    22. You may want to add: /root/php7/usr/lib/php to your php.ini include_path
    23. /root/php7/php-src/build/shtool install -c ext/phar/phar.phar /root/php7/usr/bin
    24. ln -s -f /root/php7/usr/bin/phar.phar /root/php7/usr/bin/phar
    25. Installing PDO headers: /root/php7/usr/include/php/ext/pdo/

    恭喜你,PHP7已经安装在你的Linux系统上了。安装完后,进入PHP7安装文件里的sapi/cli里面。

    1. cd sapi/cli

    验证一下PHP的版本。

    1. [root@localhost cli]# ./php -v
    2. PHP 7.0.0-dev (cli) (built: Mar 28 2015 00:54:11)
    3. Copyright (c) 1997-2015 The PHP Group
    4. Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies

    总结

    PHP 7也添加到了remi仓库,这个即将到来的版本主要关注执行效率的提升,它的新特性致力于使PHP较好满足现代编程的需求和趋势。PHP 7.0将会有许多新的特性、丢弃一些老版本的东西。在接下来的日子里,我们希望看到新特性和弃用功能的具体情况。希望你喜欢!

  • 相关阅读:
    squid开多端口代理的心得
    用ssh跑pppd(最简单的linuxvpn)
    Asterisk1.2编译与安装
    E1 CE1 PRI BRI T1 的区别
    asterisk卡常见问题(收集整理)
    CCProxy+Eborder开透明代理详细设置(附图文)
    iptables+NAT+squid 透明代理上网实现方案
    asterisk积累命令
    MySQL Cluster的常见问题
    如何配置Silverlight4开发环境
  • 原文地址:https://www.cnblogs.com/probemark/p/5935162.html
Copyright © 2011-2022 走看看