Bagaiaman cara migrasi PHP 5.6 ke PHP 7

 

Jika Anda harus membaca artikel ini sekarang dengan maksud untuk memigrasi situs web Anda dari PHP 5.6 ke PHP 7.

Setelah diupgrade kita tidak pernah tahu apa yang akan rusak. Untuk saat ini semuanya berjalan lancar dengan situs web. Jika kita memigrasi versi ke PHP 7, kita tidak tahu apakah itu akan berjalan atau tidak. Jadi semua orang terus menunda tugas sensitif ini.

Jangan takut, saya akan memandu Anda melalui perjalanan migrasi ini. Saya akan menyajikan kepada Anda pengalaman saya melakukan migrasi ini.

Meningkatkan pengaturan atau pengembangan atau lingkungan server ke PHP 7

Jika Anda berada di server web hosting shared, Anda akan memiliki opsi di panel kontrol. Ini harus menjadi pekerjaan mudah satu klik. Jika tidak, penyedia hosting Anda akan melakukannya untuk Anda. Anda mungkin harus membuat tiket untuk menyelesaikannya. Kecuali jika Anda berada di lingkungan server khusus, Anda tidak perlu khawatir.

Bagaimanapun, migrasi situs web atau aplikasi PHP harus dilakukan oleh Anda. Itu tidak ada dalam lingkup penyedia hosting atau sysadmin. Ini harus dilakukan oleh pengembang PHP.

Versi PHP, dukungan dan EOL

Kenapa sekarang? Apa perlunya migrasi PHP 5.6 ke PHP 7 sekarang? Sebelum membahas alasannya, Anda harus tahu tentang versi PHP, durasi dukungannya, dan detail EOL. Ini akan memberi Anda jawabannya.

Versi PHP mendukung dan EOL

Ref: https://www.php.net/supported-versions.php

Mengapa Anda harus bermigrasi dari PHP 5.6?

Rilis aktif versi PHP 5.6 berakhir pada awal 2017 dan mencapai akhir masa pakainya (EOL) pada akhir 2018. Itu dulu sekali. Setelah PHP 5.6, kami memiliki PHP 7.0, 7.1,… dan versi live saat ini adalah 7.4

Klien lama saya baru-baru ini meneruskan email yang dia dapatkan dari penyedia hostingnya. Situs webnya dihosting dengan server hosting bersama yang populer.

Penyedia hosting telah memberikan waktu sepuluh hari untuk mengupgrade dari PHP 5.6 ke PHP 7.2 Bahkan mereka telah meminta untuk migrasi PHP 7.0 dan PHP 7.1 ke PHP 7.2 Jika upgrade tidak dilakukan dalam jangka waktu yang ditentukan, penyedia hosting akan mengupgrade versi PHP ke 7.2 sendiri.

Jangka waktu ini adalah untuk memungkinkan migrasi situs web agar kompatibel dengan 7.2. Panel kontrol memungkinkan untuk mengubah versi PHP bolak-balik.

Jika Anda berada di lingkungan server hosting bersama, Anda akan dipaksa untuk bermigrasi dalam waktu dekat. Lebih baik Anda bergerak sendiri, sehingga Anda dapat merencanakan dan melaksanakannya sesuai keinginan Anda.

Keamanan

Jika ada satu alasan yang berdiri di atas segalanya adalah keamanan. Ada banyak kerentanan yang terungkap ke publik setiap hari. Jika ada kerentanan yang diketahui, tim PHP akan merilis perbaikan.

Tetapi jika versi PHP sudah mencapai EOL-nya, maka tidak akan ada rilisnya. Situs web Anda akan terekspos dengan mengundang para peretas. Jadi, penting untuk memigrasi situs web Anda ke versi PHP yang didukung. Tingkatkan PHP lama Anda sekarang!

Performa

Ada banyak penelitian yang dipublikasikan dan diedarkan secara luas. PHP 7 memiliki, “100% + peningkatan kinerja pada sebagian besar aplikasi dunia nyata” kata Rasmus Lerdorf (Ref: http://talks.php.net/fluent15#/php7) Ini dari slide-nya dari pembicaraan PHP 7 di fluentconf. Kinerja yang baik karena latensi rendah sudah diakui secara luas.

Kinerja PHP 7

Jadi, bagaimana kinerja yang baik membantu situs web Anda? Untuk jeda satu detik, Anda akan kehilangan minimal 10% pengunjung. Mesin pencari memprioritaskan situs web yang memuat cepat. Apakah kedua alasan ini tidak cukup?

Seperti yang diterbitkan oleh Christian Vigh, PHP 7 lebih cepat 400% lebih cepat dari PHP 5.2

Tolok ukur kinerja PHP

Ref: https://www.phpclasses.org/blog/post/493-php-performance-evolution.html#performance

Fitur PHP baru

Pengembang harus dipersenjatai dengan seperangkat alat yang baik. Ketika bahasa memberikan serangkaian fitur yang bagus, itu memungkinkan pengembang menghasilkan produk yang bagus. Berikut adalah beberapa fitur yang tersedia di PHP 7.

  • The null coalescing operator
  • Return and scalar type declarations
  • Anonymous Classes
  • Zero cost asserts
  • Typed properties 2.0
  • Preloading
  • Null coalescing assignment operator
  • Improve openssl_random_pseudo_bytes
  • Weak references
  • New custom object serialization mechanism
  • Password hash registry
  • Covariant returns and contravariant parameters
  • Spread operator in array expression
  • Multi-catch exceptions
  • Keys usable in lists

Kompatibilitas mundur

Ini adalah kunci utama untuk fokus pada migrasi situs web. Anda mungkin telah menggunakan fitur yang hanya tersedia di versi yang lebih rendah dan dihapus di versi yang lebih baru. Berikut adalah daftar perubahan yang tidak kompatibel antara PHP 5.6 dan PHP 7.0

  • et_exception_handler() is no longer guaranteed to receive Exception objects
  • Internal constructors always throw exceptions on failure
  • Parse errors throw ParseError
  • list() no longer assigns variables in reverse order
  • Empty list() assignments have been removed
  • list() cannot unpack strings
  • Array ordering when elements are automatically created during by reference assignments has changed
  • Parentheses around function arguments no longer affect behaviour
  • foreach no longer changes the internal array pointer and more changes.
  • Changes to Division By Zero and more integer handling changes.
  • Hexadecimal strings are no longer considered numeric and more string handling changes.
  • All ext/mysql functions and more list of functions removed.
  • New objects cannot be assigned by reference
  • Switch statements cannot have multiple default blocks
  • JSON extension replaced with JSOND

Daftar di atas hanyalah ringkasan. Buka Ref: https://www.php.net/manual/en/migration70.incompatible.php untuk daftar lengkapnya.

Fitur yang tidak digunakan lagi di PHP 7.0

Jadi, Anda akan terus maju. Ketahui tentang apa yang tidak boleh Anda gunakan untuk kedepannya. Jika Anda telah menggunakan fitur yang tidak digunakan lagi, lebih baik Anda juga memigrasikannya. Berikut adalah daftar daftar yang tidak berlaku lagi.

  • PHP 4 style constructors
  • Static calls to non-static methods
  • password_hash() salt option
  • capture_session_meta SSL context option
  • ldap_sort() function is deprecated.

Langkah-langkah untuk melakukan migrasi situs web PHP

  1. Cadangkan situs web Anda, aplikasi, database, data dalam disk.
  2. Periksa apakah penyedia hosting atau lingkungan Anda mengizinkan untuk melakukan rollback versi PHP. Ini akan membantu jika seandainya Anda terjebak di beberapa titik.
  3. Periksa kompatibilitas PHP untuk versi masing-masing dari aplikasi vendor dependen, plugin, modul dan ekstensi.
  4. Siapkan daftar periksa untuk item yang akan diubah untuk ketidakcocokan mundur. Lihat di atas untuk daftar gabungan.
  5. Tambahkan item yang tidak berlaku lagi ke daftar periksa. Lihat di atas untuk daftar gabungan.
  6. Gunakan IDE yang dilengkapi dengan baik. Lepaskan pustaka PHP lama yang bergantung, lalu tambahkan pustaka PHP baru yang akan dimigrasi. IDE akan memperingatkan dan menampilkan kesalahan. Saya berjanji, ini akan membantu. Jika Anda adalah orang yang menggunakan editor teks biasa, maka sekaranglah waktunya untuk membuangnya.
  7. Refactor kode tersebut.
  8. Terapkan di lingkungan pementasan.
  9. Uji.
  10. Live.

↑ Kembali ke Atas

Source link