PHP7真的有那么厉害吗?
PHP7正式发布到现在已经一年半了,刚出道就号称比旧版本快了几倍,各种开源框架或系统运行在PHP7上速度效率提高了几倍,反正不管是媒体还是开发者都在煽风点火,不,应该是赞不绝口。今天我们就来测试一下看看效果。
PHP7正式发布到现在已经一年半了,刚出道就号称比旧版本快了几倍,各种开源框架或系统运行在PHP7上速度效率提高了几倍,反正不管是媒体还是开发者都在煽风点火,不,应该是赞不绝口。
我就静静看你们装逼,不说话。
一般手机系统升级我是跑最后的,因为不愿意踩坑,毕竟iOS和Android这种系统都会出现bug,何况世界上被人黑的最多的语言。
今日时机已到,看看PHP7有没有传说的那么王炸。
安装两个PHP版本
http://php.net/ 已经有最新PHP7的最新版本,大家可自行下载。
为了测试PHP5和PHP7(PHP6已被放弃,心疼1s)的性能,我在不同的目录安装了两个php版本。
安装过程就略过了,无论源码安装还是包管理工具安装,记得自己的路径即可。
PHP7:
1 2 3 4 |
|
PHP5:
1 2 3 4 |
|
环境说明:为了保证最佳的测试效果,本次测试在直接在生产环境进行,更逼近真实情况。
操作系统:CentOS 7.2 64位
基础配置:1核 1GB 1Mbps
主机品牌:腾讯云
PHP7和PHP5的对决
1. 纯php脚本测试
vim test.php
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
PHP5版本测试:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
PHP7版本测试:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
通过数据可以看出来,单纯的php脚本测试,可以看出php7性能提升了3到4倍。
2.php数据库操作测试
首先我们创建一个用户表:
1 2 3 4 |
|
给test_user表插入一条数据:
1 2 3 4 |
|
创建数据库测试脚本test_db.php,确保你的两个PHP版本都安装了PDO扩展。
1 2 3 4 5 6 7 |
|
我的两个PHP版本已经安装了PDO(不要再使用php_mysql扩展,已经过时了,PHP7已经完全抛弃,mysqli也不建议使用)。
接下来我们通过PDO编写脚本,测试select执行50万次的性能对比:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
PHP5测试test_db.php:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
PHP7测试test_db.php:
1 2 3 4 5 6 7 8 9 |
|
这次脚本执行了50w次查询,user执行时间PHP7执行的脚本几乎都比PHP5要少一秒!是少一秒不是一毫秒。
3.PHP框架测试
thinkphp
国内肯定是首选thinkphp框架,选择最新的thinkphp5。我这里直接在官网下载的thinkphp5.0.9版本。
- (一)框架入口测试
PHP5下的测试:
1 2 3 4 5 6 7 8 9 10 |
|
PHP7下的测试:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
在入口测试下,可以看到PHP和PHP7没有太大的区别,但PHP7还是稍微快一点。
- (二)框架逻辑测试
在框架入口复用第一步的逻辑:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
PHP5版本:
1 2 3 4 5 6 7 8 9 10 |
|
PHP7版本:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
在thinkphp框架中使用PHP7版本,性能提升大约是PHP5版本的4倍!
laravel
然后我们测试下现在最火热的PHP艺术家的框架。
- (一) 框架入口测试
PHP5版本:
1 2 3 4 5 6 7 8 9 10 11 |
|
PHP版本
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
我们可以看到laravel的框架入口测试中,PHP5和PHP7的表现差异不大,但即使PHP5最高快的0.081s也比PHP7版本最慢的0.067s要慢。所以PHP7还是更胜一筹。
- (二)框架逻辑测试
尝试增加一点逻辑,和thinkphp一样,复用测试逻辑。首先修改laravel路由,直接调用UserController的index方法:
1 |
|
在index方法中写入测试逻辑:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
PHP5版本
1 2 3 4 5 6 7 8 9 10 |
|
PHP7版本
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
PHP7性能提升了3到4倍
推荐学习:php视频教程
结论:
本文对PHP7和PHP5进行简单对比,性能确实有3到4倍提升,无论是在php纯脚本中,还是在框架中,PHP7高性能的表现都是一致的。
PHP7很快,PHP7+OpCache飞快,PHP7确实牛逼,PHP的新时代已来临,赶紧用起来!
Atas ialah kandungan terperinci PHP7真的有那么厉害吗?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam php5, kita boleh menggunakan fungsi fsockopen() untuk mengesan port TCP. Fungsi ini boleh digunakan untuk membuka sambungan rangkaian dan melakukan beberapa komunikasi rangkaian. Tetapi dalam php7, fungsi fsockopen() mungkin menghadapi beberapa masalah, seperti tidak dapat membuka port, tidak dapat menyambung ke pelayan, dsb. Untuk menyelesaikan masalah ini, kita boleh menggunakan fungsi socket_create() dan fungsi socket_connect() untuk mengesan port TCP.

Cara memasang sambungan mongo dalam php7.0: 1. Buat kumpulan pengguna dan pengguna mongodb 2. Muat turun pakej kod sumber mongodb dan letakkan pakej kod sumber dalam direktori "/usr/local/src/" 3. Masukkan direktori "src/" 4. Buka zip pakej kod sumber 5. Buat direktori fail mongodb 6. Salin fail ke direktori "mongodb/" 7. Buat fail konfigurasi mongodb;

Untuk menyelesaikan pemalam yang tidak menunjukkan isu yang dipasang dalam PHP 7.0: Semak konfigurasi pemalam dan dayakan pemalam. Mulakan semula PHP untuk menggunakan perubahan konfigurasi. Semak kebenaran fail pemalam untuk memastikan ia betul. Pasang kebergantungan yang hilang untuk memastikan pemalam berfungsi dengan betul. Jika semua langkah lain gagal, bina semula PHP. Punca lain yang mungkin termasuk versi pemalam yang tidak serasi, memuatkan versi yang salah atau isu konfigurasi PHP.

Berbanding dengan PHP7, PHP8 mempunyai beberapa kelebihan dan penambahbaikan dari segi prestasi, ciri baharu dan penambahbaikan sintaks, sistem jenis, pengendalian ralat dan sambungan. Walau bagaimanapun, memilih versi yang hendak digunakan bergantung pada keperluan khusus anda dan keadaan projek. Pengenalan terperinci: 1. Peningkatan prestasi, PHP8 memperkenalkan pengkompil Just-in-Time (JIT), yang boleh meningkatkan kelajuan pelaksanaan kod 2. Ciri baharu dan penambahbaikan sintaks, PHP8 menyokong pengisytiharan parameter yang dinamakan dan parameter pilihan, membuat fungsi Panggilan adalah lebih fleksibel kelas tanpa nama, jenis pengisytiharan sifat, dsb.

Cara memasang dan menggunakan php7.0: 1. Pergi ke laman web rasmi PHP untuk memuat turun versi pemasangan yang sepadan dengan sistem tempatan 2. Ekstrak fail zip yang dimuat turun ke direktori yang ditentukan 3. Buka tetingkap baris arahan dan pergi ke direktori "E:\php7" Hanya jalankan arahan "php -v".

Penyelesaian biasa untuk persekitaran pelayan PHP termasuk memastikan versi PHP yang betul dipasang dan fail yang berkaitan telah disalin ke direktori modul. Lumpuhkan SELinux buat sementara waktu atau selama-lamanya. Semak dan konfigurasikan PHP.ini untuk memastikan sambungan yang diperlukan telah ditambah dan disediakan dengan betul. Mulakan atau mulakan semula perkhidmatan PHP-FPM. Semak tetapan DNS untuk isu penyelesaian.

Dengan perkembangan teknologi Internet, bahasa pengaturcaraan komputer juga terus dibangunkan dan dikemas kini. Sebagai bahasa pengaturcaraan yang digunakan secara meluas dalam bidang pembangunan web, PHP telah mengalami pelbagai kemas kini versi selama bertahun-tahun, dan versi terkini PHP7 telah meningkatkan prestasi dan kestabilannya. Untuk menggunakan bahasa pengaturcaraan PHP dengan lebih baik, artikel ini akan memperkenalkan tutorial muat turun dan pemasangan PHP7 untuk rujukan pemula.

Persekitaran setempat: sistem redhat6.7. nginx1.12.1, php7.1.0, kod menggunakan masalah rangka kerja yii2: tapak web tempatan perlu menggunakan perkhidmatan elasticsearch. Apabila PHP menggunakan elasticsearch yang dibina pada pelayan tempatan, beban tempatan adalah normal. Apabila saya menggunakan perkhidmatan elasticsearch AWS, beban pada pelayan tempatan selalunya terlalu tinggi. Semak log nginx dan php dan tidak mencari pengecualian. Bilangan sambungan serentak dalam sistem juga tidak tinggi. Pada masa ini, saya memikirkan alat diagnostik jejak yang bos kami beritahu saya. Proses penyahpepijatan: Cari idstrace sub-proses php-
