首页 » 网站建设 » yum安装php技巧_PHP7经由进程yum源安装及机能测试

yum安装php技巧_PHP7经由进程yum源安装及机能测试

访客 2024-10-23 0

扫一扫用手机浏览

文章目录 [+]

提到PHP,肯定会有人说这是天下上最好的编程措辞。
单说盛行程度,目前环球超过81.7%的做事器后端都采取了PHP措辞,它驱动着环球超过2亿多个网站。
上月初PHP7正式版发布,迎来自2004年以来最大的版本更新。
现在PHP 7.0正式发布。

对付普通的PHP网站,紧张是IO密集型的,瓶颈在MySQL数据之上,表示不出来PHP性能的劣势。
但在密集打算方面比C、C++、Java这种静态编译型措辞差几十倍乃至上百倍。
如果在PHP开拓中利用了比较繁芜的框架,如symfony,程序性能会明显低落。
事实上,PHP措辞最初的设计,就不是用来办理打算密集型的运用处景。
我们可以这样粗略理解为,PHP为了提升开拓效率,而捐躯了实行效率。

yum安装php技巧_PHP7经由进程yum源安装及机能测试

但PHP比较盛行,如新浪微博、Facebook这种大型网站大部分程序都是利用PHP写的,也便是在这种大规模运用下,PHP性能低下就显现出来了。
Facebook早期的很多代码是利用PHP来开拓的,但是,随着业务的快速发展,PHP实行效率成为越来越明显的问题。
为了优化实行效率,Facebook在2008年就开始利用HipHop,这是一种PHP实行引擎,最初是为了将Fackbook的大量PHP代码转成 C++,以提高性能和节约资源。
利用HipHop的PHP代码在性能上有数倍的提升。
后来,Facebook将HipHop平台开源,逐渐发展为现在的HHVM。
HHVM用来更换PHP自身利用的引擎Zend Engine。
听说性能提升了70%。
当然PHP官方也知道PHP最大的短板,于是推出了PHP7项目,紧张是重构了Zend Engine引擎。

yum安装php技巧_PHP7经由进程yum源安装及机能测试
(图片来自网络侵删)

PHP7最显著的变革便是性能的极大提升,已靠近Facebook开拓的PHP实行引擎HHVM。
在WordPress基准性能测试中,速率比5.6版本要快2~3倍,大大减少了内存占用。
PHP7在措辞上也有一些变革,比如添加返回类型声明、增加了一些新的保留关键字等。
在安全方面,去除了PHP安全模式,添加魔术引号等。
不仅如此,新版还支持64位,而且包含最新版Zend引擎。
实在PHP7的在真实场景的性能确实已经和HHVM相称,在一些场景乃至超过了HHVM。
但HHVM的运维繁芜, 是多线程模型, 这就代表着如果一个线程导致crash了, 那么全体做事就挂了, 并且它不会自动重启。
其余它采取JIT, 那么意味着, 重启往后要预热, 没有预热的情形下, 性能较为糟糕。
并且多线程模型调试困难, 这对付追求稳定来说的Web做事来说, 是非常不适宜的。

YUM安装PHP7

想利用最新版PHP,就须要利用到REMI源,Remi repository是包含最新版本PHP和MySQL包的Linux源,由Remi供应掩护。
有个这个源之后,利用YUM安装或更新PHP、MySQL较新版本了。

安装最新的Remi源自动安装文件

# CentOS 6 / RHEL 6

yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

# CentOS 7 / RHEL 7

yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

安装PHP干系组件,下面供应的是一个生产环境中可以利用的标配安装。

$ yum --enablerepo=remi,remi-php70 install

php \

php-cgi \

php-cli \

php-fpm \

php-common \

php-devel \

php-mysqlnd \

php-mysql \

php-sqlite3 \

php-mbstring \

php-msgpack \

php-mcrypt \

php-bcmath \

php-gd \

php-xml \

php-ldap \

php-xmlrpc \

php-opcache \

php-curl \

php-json \

php-odbc \

php-pdo \

php-bz2 \

php-xml \

php-ftp \

php-imap \

php-snmp \

php-redis \

php-memcached

查看PHP版本

$ php -v

PHP 7.0.9 (cli) (built: Jul 20 2016 18:08:08) ( NTS )

启动PHP-FPM

$ service php-fpm start

到这里,PHP7.0就安装完成了。
如果须要用到PHP扩展功能,如redis、memcached等,只须要也利用YUM安装即可,如下:

$ yum --enablerepo=remi,remi-php70 install php-redis php-memcached

如果在REMI或EPEL源中都找不到你须要的扩展模块,那么就须要手动编译安装了,也很大略。

其余查看PHP模块信息利用php -m命令。

$ php -m | grep redis

redis

安装一套LNMP参考:LNMP安装包支配实战或者参考PHP7.0版本的LNMPZabbix 3.0安装利用详解

PHP7性能测试

环境:4核 CPU,内存4G,操作系统Centos 6.5。

首先说一点GCC编译器的建议,据鸟哥建议,利用新一点的编译器,推举 GCC 4.8以上,由于只有GCC 4.8以上PHP才会开启Global Register for opline and execute_data支持, 这个会带来5%旁边的性能提升。

写一段程序(网上供应的大略测试方法):

第一段,天生一个 60 万元素的数组,通过查找key 的办法,来确定key是否存在。

< ?php

$a = array();

for($i=0;$i<600000;$i++){

$a[$i] = $i;

}

foreach($a as $i)

{

array_key_exists($i, $a);

}

首先是PHP 5.3.17版。

[root@localhost test]# time php search_by_key.php

real 0m0.389s

user 0m0.337s

sys 0m0.051s

[root@localhost test]# time php search_by_key.php

real 0m0.378s

user 0m0.308s

sys 0m0.062s

[root@localhost test]# time php search_by_key.php

real 0m0.378s

user 0m0.317s

sys 0m0.061s

其次是PHP 7.0版本。

[root@localhost php7]# time php7 search_by_key.php

real 0m0.082s

user 0m0.066s

sys 0m0.014s

[root@localhost php7]# time php7 search_by_key.php

real 0m0.080s

user 0m0.058s

sys 0m0.021s

[root@localhost php7]# time php7 search_by_key.php

real 0m0.080s

user 0m0.053s

sys 0m0.026s`

相应韶光在PHP7下运行变为原来的1/4。

还是上面的这个办法,不过由于速率较慢,以是变成了一个60000个元素的数组,查找值。

< ?php

$a = array();

for($i=0;$i<600000;$i++){

$a[$i] = $i;

}

foreach($a as $i)

{

array_key_exists($i, $a);

}

[root@localhost test]# time php search_by_val.php

real 0m24.296s

user 0m24.184s

sys 0m0.025s

[root@localhost test]# time php search_by_val.php

real 0m25.523s

user 0m25.317s

sys 0m0.026s

[root@localhost test]# time php search_by_val.php

real 0m26.026s

user 0m25.478s

sys 0m0.092s

等待的韶光,总是以为很漫长,三次测试,花掉了75秒多。
下面,PHP 7 登场了。

[root@localhost php7]# time php7 search_by_val.php

real 0m3.362s

user 0m3.323s

sys 0m0.007s

[root@localhost php7]# time php7 search_by_val.php

real 0m3.266s

user 0m3.251s

sys 0m0.004s

[root@localhost php7]# time php7 search_by_val.php

real 0m3.290s

user 0m3.275s

sys 0m0.006s

有没有!
速率整整提高了将近7倍。

标签:

相关文章

微信第三方登录便捷与安全的完美融合

社交平台已成为人们日常生活中不可或缺的一部分。微信作为我国最受欢迎的社交软件之一,拥有庞大的用户群体。为了方便用户在不同平台间切换...

网站建设 2025-02-18 阅读0 评论0

广东高速代码表解码高速公路管理智慧

高速公路作为国家交通动脉,连接着城市与城市,承载着巨大的物流和人流。广东作为我国经济大省,高速公路网络密布,交通流量巨大。为了更好...

网站建设 2025-02-18 阅读0 评论0