在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0

前端之家收集整理的这篇文章主要介绍了在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP是一种为我们熟知的通用服务器网页脚本语言。非常多的在线网站都是用PHP编写的。PHP这些年来一直在持续进化,丰富其功能,变得易于使用,更好地组织的脚本语言。目前PHP的开发团队正筹备下一个PHP版本的发行,名字是PHP 7。现在的PHP版本为PHP 5.6,可能你清楚PHP 6已经流产了,PHP 7的支持者们不希望下一个重要的版本被其他分支混淆,即过去已经停止很久的PHP 6。所以决定下一个PHP主要的发行版本叫PHP 7,而不是PHP 6。PHP 7.0预计在今年十一月份发行。

在下一代主要PHP版本里有一些不错的功能

  • 为了改善执行效率与内存占用,新的版本添加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
  2. @H_301_54@

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

    mkdir PHP7 
      
  3. cd PHP7
  4. @H_301_54@

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

    git clone https://git.PHP.net/repository/PHP-src.git 
     @H_301_54@ 
     

    工作应该会在几分钟后完成,这里是一个样例输出,你应该会在任务完成时看见。

    [root@localhost PHP7]# //git.PHP.net/repository/PHP-src.git 
      
  5. Cloning into 'PHP-src'...
  6. remote: Counting objects: 615064, done.
  7. Compressing objects: 100% (127800/127800),100);">done.
  8. Total 615064 (delta 492063), reused 608718 (delta 485944)
  9. Receiving objects: 615064/615064), 152.32 MiB | 16.97 MiB/s,100);">done.
  10. Resolving deltas: 492063/done.
  11. @H_301_54@

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

    cd PHP-src 
      
  12. ./buildconf
  13. @H_301_54@

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

    [root@localhost PHP-src]# ./buildconf 
      
  14. buildconf: checking installation...
  15. buildconf: autoconf version 2.69 (ok)
  16. rebuilding aclocal.m4
  17. rebuilding configure
  18. rebuilding main/PHP_config.h.in
  19. @H_301_54@

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

    ./configure \ 
      
  20. --prefix=$HOME/PHP7/usr \
  21. --with-config-file-path=$HOME/PHP7/usr/etc \
  22. --enable-mbstring \
  23. --enable-zip \
  24. --enable-bcmath \
  25. --enable-pcntl \
  26. --enable-ftp \
  27. --enable-exif \
  28. --enable-calendar \
  29. --enable-sysvmsg \
  30. --enable-sysvsem \
  31. --enable-sysvshm \
  32. --enable-wddx \
  33. with-curl \
  34. with-mcrypt \
  35. with-iconv \
  36. with-gmp \
  37. with-pspell \
  38. with-gd \
  39. with-jpeg-dir=/usr \
  40. with-png-dir=/usr \
  41. with-zlib-dir=/usr \
  42. with-xpm-dir=/usr \
  43. with-freetype-dir=/usr \
  44. with-t1lib=/usr \
  45. --enable-gd-native-ttf \
  46. --enable-gd-jis-conv \
  47. with-openssl \
  48. with-MysqL=/usr \
  49. with-pdo-MysqL=/usr \
  50. with-gettext=/usr \
  51. with-zlib=/usr \
  52. with-bz2=/usr \
  53. with-recode=/usr \
  54. with-MysqLi=/usr/bin/MysqL_config
  55. @H_301_54@

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

    creating libtool 
      
  56. appending configuration tag "CXX" to libtool
  57. Generating files
  58. configure: creating ./config.status
  59. creating main/internal_functions.c
  60. creating main/internal_functions_cli.c
  61. +--------------------------------------------------------------------+
  62. | License: |
  63. This software is subject to the PHP License, available in this |
  64. | distribution in the file LICENSE. By continuing this installation |
  65. | process, you are bound by the terms of this license agreement. |
  66. If you do not agree with the terms of this license, you must abort |
  67. | the installation process at this point. |
  68. +--------------------------------------------------------------------+
  69. Thank you for using PHP.
  70. config.status: creating PHP7.spec
  71. config.status: creating main/build-defs.h
  72. config.status: creating scripts/PHPize
  73. config.status: creating scripts/man1/PHPize.1
  74. config.status: creating scripts/PHP-config
  75. config.status: creating scripts/man1/PHP-config.1
  76. config.status: creating sapi/cli/PHP.1
  77. config.status: creating sapi/cgi/PHP-cgi.1
  78. config.status: creating ext/phar/phar.1
  79. config.status: creating ext/phar/phar.phar.1
  80. config.status: creating main/PHP_config.h
  81. config.status: executing default commands
  82. @H_301_54@

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

    make 
     @H_301_54@ 
     

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

    Generating phar.PHP 
      
  83. Generating phar.phar
  84. PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
  85. clicommand.inc
  86. directorytreeiterator.inc
  87. directorygraphiterator.inc
  88. pharcommand.inc
  89. invertedregexiterator.inc
  90. phar.inc
  91. Build complete.
  92. Don't forget to run 'make test'.
  93. @H_301_54@

    活儿干完了,该安装PHP7了,运行下面的命令安装它。

    make install 
     @H_301_54@ 
     

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

    [root@localhost PHP-src]# make install 
      
  94. Installing shared extensions: /root/PHP7/usr/lib/PHP/extensions/no-debug-non-zts-20141001/
  95. Installing PHP CLI binary: /root/PHP7/usr/bin/
  96. Installing PHP CLI man page: /root/PHP7/usr/PHP/man/man1/
  97. Installing PHP CGI binary: /root/PHP7/usr/bin/
  98. Installing PHP CGI man/man1/
  99. Installing build environment: /root/PHP7/usr/lib/PHP/build/
  100. Installing header files: /root/PHP7/usr/include/PHP/
  101. Installing helper programs: /root/PHP7/usr/bin/
  102. program: PHPize
  103. program: PHP-config
  104. Installing man pages: man/man1/
  105. page: PHPize.page: PHP-config.Installing PEAR environment: /root/PHP7/usr/lib/PHP/
  106. [PEAR] Archive_Tar - installed: 1.3.13
  107. Console_Getopt - installed: Structures_Graph- installed: 1.0.4
  108. [PEAR] XML_Util - installed: 1.2.3
  109. [PEAR] PEAR - installed: 1.9.5
  110. Wrote PEAR system config file at: /root/PHP7/usr/etc/pear.conf
  111. You may want to add: /root/PHP7/usr/lib/PHP to your PHP.ini include_path
  112. /root/PHP7/PHP-src/build/shtool install -c ext/phar/phar.phar /root/PHP7/usr/bin
  113. ln -s -f /root/PHP7/usr/bin/phar.phar /root/PHP7/usr/bin/phar
  114. Installing PDO headers: include/PHP/ext/pdo/
  115. @H_301_54@

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

    cd sapi/cli 
     @H_301_54@ 
     

    验证一下PHP的版本。

    [root@localhost cli]# ./PHP -v 
      
  116. PHP 7.0.0-dev (cli) (built: Mar 28 2015 00:54:11)
  117. Copyright (c) 1997-2015 The PHP Group
  118. Zend Engine v3.0.0-dev, 1998-Technologies
  119. @H_301_54@
原文链接:https://www.f2er.com/centos/379884.html

猜你在找的CentOS相关文章