php7的内部结构与5截然不同,性能上的大突破,能比前一版PHP 5快上一倍,所以今天在centos7.2上部署Php7,体验一下它的性能。
一、查看centos版本
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)
二、删除之前的 php 版本
如果是第一次安装省略…
[root@localhost ~]# yum remove php* php-common
三、rpm 安装 Php7 相应的 yum源
[root@localhost ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
注意:如果报错,以下是报错信息:
Retrieving https://mirror.webtatic.com/yum/el7/webtatic-release.rpm warning: /var/tmp/rpm-tmp.o0rIru: Header V4 RSA/SHA1 Signature, key ID 62e74ca5: NOKEY error: Failed dependencies: epel-release >= 7 is needed by webtatic-release-7-3.noarch
在安装包后面加两个参数,如
[root@localhost ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm --nodeps --force
加上那两个参数的意义就在于,
安装时不再分析包之间的依赖关系而直接安装,
也就不会再提示error: Failed dependencies:这样的错误了
正确返回:
Retrieving https://mirror.webtatic.com/yum/el7/webtatic-release.rpm warning: /var/tmp/rpm-tmp.0nuQEZ: Header V4 RSA/SHA1 Signature, key ID 62e74ca5: NOKEY Preparing... ################################# [100%] Updating / installing... 1:webtatic-release-7-3 ################################# [100%]
四、直接yum安装php7
现在可以直接yum安装php7
[root@localhost ~]# yum install php70w
一路“y”
最后成功返回:
.... Installed: php70w.x86_64 0:7.0.10-1.w7 Dependency Installed: apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.el7 httpd.x86_64 0:2.4.6-40.el7.centos.4 httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 mailcap.noarch 0:2.1.41-2.el7 php70w-cli.x86_64 0:7.0.10-1.w7 php70w-common.x86_64 0:7.0.10-1.w7 Complete!
安装mysql扩展库
如没有安装会出现:访问phpMyAdmin出现“缺少mysqli扩展,请检查PHP配置”的报错,同时网站可能无法连接数据库。
[root@localhost ~]# yum install php70w-mysqlnd php70w-fpm [root@localhost ~]# yum install php70w-gd php70w-xml php70w-mbstring php70w-ldap php70w-pear php70w-xmlrpc php70w-imap
五、检查 php 版本
[root@localhost ~]# php -v
返回:
PHP 7.0.10 (cli) (built: Aug 20 2016 07:47:25) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
5、重启 Apache或Nginx,查看 phpinfo :
Apache:
[root@localhost ~]# systemctl restart httpd.service
ngingx:
[root@localhost ~]# systemctl restart nginx.service
包名 | 包含内容 | 解释 |
php70w | mod_php, php70w-zts | mod_php模式运行PHP,服务器使用Apache的使用 |
php70w-bcmath | 支持大整数计算的扩展 | |
php70w-cli | php-cgi, php-pcntl, php-readline | CLI SAPI,命令行接口,该 CLI SAPI 模块主要用作 PHP 的开发外壳应用。 |
php70w-common | php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-filter, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib | 常用包合集 |
php70w-dba | dba数据库支持 | |
php70w-devel | 同php70w,包含头文件和链接库,供开发用 | |
php70w-embedded | php-embedded-devel | Embed SAPI,容许你在C/C++语言中调用PHP/ZE提供的函数。 |
php70w-enchant | 各种拼写库的抽象层 | |
php70w-fpm | fastcgi模式运行PHP,使用Nginx的推荐使用 | |
php70w-gd | 图形扩展GD库 | |
php70w-imap | 收取邮件类 | |
php70w-interbase | php_database, php-firebird | InterBase数据库支持 |
php70w-intl | 国际化扩展,是ICU库的一个包装器。 | |
php70w-ldap | ldap验证支持 | |
php70w-mbstring | 国际化与字符编码支持 | |
php70w-mcrypt | 常用加密算法的封装 | |
php70w-mysql | php-mysqli, php_database | 同最新的mysqldnd |
php70w-mysqlnd | php-mysqli, php_database | mysqldnd即mysql native driver简写,即是由PHP源码提供的mysql驱动连接代码.它的目的是代替旧的libmysql驱动. |
php70w-odbc | php-pdo_odbc, php_database | 支持ODBC方式连接数据库 |
php70w-opcache | php70w-pecl-zendopcache | 脚本加速扩展 |
php70w-pdo | php70w-pdo_sqlite, php70w-sqlite3 | SQLite数据库支持 |
php70w-pdo_dblib | php70w-mssql | SQL Server数据库支持 |
php70w-pear | PHP扩展与应用库,pecl 是通过pear包安装的 | |
php70w-pecl-apcu | APC 是将要被遗弃的脚本加速扩展 | |
php70w-pecl-imagick | ImageMagick支持 | |
php70w-pecl-redis | 让PHP支持Redis | |
php70w-pecl-xdebug | Xdebug作为PHP调试工具,提供了丰富的调试函数,也可将Xdebug安装配置为zend studio、editplus调试PHP的第三方插件,通过开启自动跟踪(auto_trace)和分析器功能,可以直观的看到PHP源代码的性能数据,以便优化PHP代码。 | |
php70w-pgsql | php-pdo_pgsql, php_database | PostgreSQL数据库支持 |
php70w-phpdbg | PHPDBG是一个PHP的SAPI模块,可以在不用修改代码和不影响性能的情况下控制PHP的运行环境。 | |
php70w-process | php-posix, php-sysvmsg, php-sysvsem, php-sysvshm | 进程控制扩展 |
php70w-pspell | 拼写检查扩展 | |
php70w-recode | ||
php70w-snmp | SNMP协议,供监控使用 | |
php70w-soap | SOAP 协议扩展 | |
php70w-tidy | 网页代码分析和纠错的工具 | |
php70w-xml | php-dom, php-domxml, php-wddx, php-xsl | 方便解析XML的扩展 |
php70w-xmlrpc | XML-RPC 协议扩展 |
比较容易混淆的概念:mod_php与FastCGI
腾讯云,阿里云测试通过。
PHP安装成功,但实际使用的时候会发现有很多不兼容的地方。比如缺少php-mysqli支持(更新已加),缺少php-mysqlnd支持(目前还未测试成功)。慎重升级,本服务器已降级为5.6版本。
安装php70w扩展库后,一切正常。