Situs WordPress membutuhkan PHP, dan seiring perkembangan PHP, WordPress terus mengikutinya. Baru-baru ini, PHP 7. 4 telah menjadi versi default PHP di Platform VIP WordPress. Namun, sebagai PHP 7. 4 berakhir dari dukungan keamanannya pada November 2022, situs WordPress perlu ditingkatkan untuk mempertahankan keamanan yang kuat. Untuk alasan ini, platform WordPress VIP akan memindahkan semua aplikasi pelanggan kami untuk berjalan di PHP 8. 0 Show
Berikut ini adalah deskripsi perubahan, dan langkah-langkah yang dapat dilakukan oleh pelanggan kami dan orang lain yang menggunakan WordPress di platform lain untuk mempersiapkannya Daftar IsiPHP8. 0 ceritaDirilis pada November 2020, PHP 8. 0 menyediakan beberapa penyempurnaan dan fitur yang membuat kode baru (dan kode yang lebih pendek) lebih tahan terhadap bug Sebagian besar pengembang akan menemukan manfaat besar dalam PHP 8. 0. Namun, sebagai versi utama, itu berisi beberapa. Ini membuat peralihan dari PHP 7. 4 to PHP 8. 0 lebih rumit daripada, misalnya, perubahan dari PHP 7. 3 to PHP 7. 4. Secara khusus, ada 49 perubahan yang dapat merusak inti PHP, dan 169 di seluruh PHP 8 secara keseluruhan, termasuk dalam pustaka dan ekstensi yang mungkin diandalkan oleh kode Anda Kabar baiknya adalah begitu organisasi pindah ke PHP 8. 0 mereka akan menerima dukungan keamanan dari proyek inti PHP hingga November 2023. Setelah tanggal tersebut, organisasi perlu meningkatkan ke PHP 8. 1, rilis minor yang membutuhkan perubahan yang jauh lebih kecil Fitur baruPHP 8. 0 dirancang untuk 1) memperbaiki kasus tepi dan ketidakkonsistenan untuk menjadikan PHP bahasa skrip yang lebih solid dan dapat diprediksi, dan 2) menyediakan fitur baru untuk meningkatkan bahasa secara keseluruhan. Ini termasuk beberapa sintaks baru yang
Ini juga termasuk Parameter Bernama. Namun, perlu dicatat inti WordPress tidak mengklaim kompatibilitas dengan fitur ini. Jadi, meskipun Anda dapat memanggil fungsi kustom Anda sendiri dengan parameter bernama, Anda tidak boleh memanggil fungsi WordPress, karena nama parameter dapat berubah tanpa peringatan di masa mendatang Proliferasi dukungan di seluruh komunitas PHP dan WordPressSetiap kali versi baru PHP dirilis yang menyertakan sintaks baru, diperlukan waktu agar sintaks baru didukung di seluruh komunitas PHP dan WordPress Alat pengembang PHPAlat pengembangan PHP seperti Komposer, PHPUnit, PHP_CodeSniffer, PHPStan, Xdebug, dan berbagai IDE semuanya perlu mengenali sintaks baru dari versi baru PHP. Meskipun PHP terus dikembangkan, mungkin ada jeda waktu sebelum ekosistem lengkap di sekitar versi baru tersedia. Seringkali, bagaimanapun, perkakas dapat siap digunakan pada saat rilis final siap karena pekerjaan pengembangan telah terjadi berdasarkan rilis kandidat alfa, beta, dan rilis yang telah tersedia sebelumnya. Semua alat ini dan lebih banyak lagi sekarang mendukung PHP 8. 0, yang menjadikannya pilihan yang baik untuk mengembangkan kode PHP dan khususnya untuk mengembangkan WordPress. Inti WordPressSelanjutnya, inti WordPress perlu mendukung PHP 8. 0. Proyek WordPress memiliki sejarah panjang kompatibilitas dengan versi baru PHP pada saat dirilis. Per posting yang ditulis dengan baik di Make WP ini, WordPress memiliki "kompatibilitas beta" dengan PHP 8. 0 sejak WordPress 5. 6 rilis pada Desember 2020. Apa yang dimaksud dengan "kompatibilitas beta"? . 0, tetapi fitur seperti mendeklarasikan tipe ketat di file inti WordPress, atau menggunakan parameter bernama dengan fungsi inti WordPress, tidak didukung Platform WordPress VIPPlatform WordPress VIP telah mendukung PHP 8. 0 (dan PHP8. 1) sejak Mei 2022, termasuk rangkaian plugin dan fitur yang memungkinkan platform memenuhi kebutuhan perusahaan. Plugin pihak ketigaWordPress memiliki puluhan ribu plugin, dan tingkat dukungan untuk PHP 8. 0 sangat bervariasi. Misalnya, kata yang baru dicadangkan mungkin masih digunakan oleh plugin, atau parameter yang diteruskan ke fungsi asli PHP mungkin bukan tipe yang diharapkan sekarang. Dengan demikian, plugin pihak ketiga mungkin merupakan salah satu area yang tidak kompatibel dengan PHP 8. 0 dapat memengaruhi aplikasi Anda Di bawah ini Anda dapat mempelajari cara memeriksa beberapa ketidakcocokan ini. Pilihannya termasuk meminta individu/tim upstream untuk melakukan perbaikan dan membuat rilis baru, atau memiliki tim pengembangan internal atau agensi, seperti salah satu mitra unggulan kami, melakukan fork plugin dan melakukan perbaikan sendiri Plugin khususHampir setiap pelanggan di platform WordPress VIP menggunakan satu atau lebih plugin khusus. Seperti plugin pihak ketiga, mereka juga perlu diperiksa kompatibilitasnya. Meminta pengembang asli untuk mengatasi masalah yang ditemukan umumnya merupakan tindakan terbaik Tema pihak ketiga atau khususMeskipun plugin adalah sumber masalah kompatibilitas yang paling mungkin, jangan lupa bahwa tema pihak ketiga dan khusus juga harus kompatibel dengan PHP 8. 0. Pendekatan yang sama untuk memeriksa kompatibilitas kode plugin berlaku untuk kode tema Bagaimana menemukan PHP8. 0 masalah kompatibilitasAda empat pendekatan utama yang dapat digunakan tim pengembangan untuk meninjau kode guna menentukan masalah kompatibilitas
Gunakan PHP_CodeSniffer dengan standar PHPCompatibilityPHP_CodeSniffer (PHPCS) memberi token file PHP dan mendeteksi pelanggaran terhadap seperangkat standar pengkodean yang ditentukan. Ada paket untuk Standar Pengkodean WordPress, dan Standar Pengkodean VIP kami sendiri (yang kami anjurkan untuk digunakan oleh pelanggan) Ada juga paket yang disebut PHPCompatibility dan PHPCompatibilityWP, dan standar ini menganalisis basis kode untuk kompatibilitas lintas versi PHP. Karena hasilnya bergantung pada kapabilitas dan kesiapan alat, penting untuk menggunakan cabang Paket PHPCompatbilityWP dibangun di atas paket PHPCompatibility tetapi mematikan beberapa centang untuk item kompatibilitas mundur yang berisi inti WordPress itu sendiri Dengan pengaturan PHPCS dan PHPCompatibility/PHPCompatibilityWP, Anda dapat menjalankan pemeriksaan
Langkah-langkah pemindaian tidak akan mendeteksi setiap kemungkinan masalah kompatibilitas versi PHP (seperti jenis nilai runtime yang salah), tetapi akan membantu mengidentifikasi masalah paling umum terkait sintaksis Mengatasi Peringatan PHP yang dikenal yang merupakan kesalahan fatal PHP di bawah PHP 8. 0PHP 8. 0 melihat beberapa peringatan mesin yang direklasifikasi, di mana Peringatan menjadi Kesalahan fatal dan Pengecualian TypeError (dan beberapa Pemberitahuan menjadi Peringatan). Teks Peringatan PHP untuk dicari di bawah PHP 7. 4 adalah
Memperbaiki Peringatan ini sangat penting agar aplikasi kompatibel dengan PHP 8. 0 Catatan. Ada kesalahan fatal lainnya di bawah PHP 8. 0 yang bahkan bukan Peringatan di bawah PHP 7. 4. Contohnya termasuk
Mengatasi perubahan yang diketahui ini adalah tempat yang baik untuk memulai. TypeError akan dilemparkan secara konsisten untuk semua fungsi PHP internal, misalnya ketika tipe parameter yang tidak valid diteruskan, bahkan ketika pemeriksaan tipe yang ketat tidak dideklarasikan Perhatikan juga bahwa operator Secara alami, aplikasi Anda idealnya tidak menghasilkan kesalahan, tidak ada peringatan, dan tidak ada pemberitahuan. Anda didorong untuk mengatasi apa pun yang Anda temukan. Beberapa Peringatan PHP di bawah 8. x akan menjadi kesalahan fatal di bawah PHP 9. 0, misalnya, berpotensi menghasilkan logika yang salah di bawah PHP 8. x. Membangun waktu pengembangan sebelum dan sesudah rilis untuk memperbaiki masalah tersebut dan masalah yang "lolos dari penemuan" selama pengembangan adalah praktik terbaik. Ini juga merupakan investasi dalam stabilitas situs, dan kemampuannya untuk secara akurat memenuhi kriteria penerimaan untuk fitur terkait Buat tes otomatisAda banyak jenis pengujian otomatis, tetapi yang kami maksud di sini
Topik ini terlalu besar untuk dibahas dengan baik di sini, tetapi ada beberapa hal yang perlu dipertimbangkan
Gunakan PHPStan/Psalm atau alat analisis statis lainnyaMeskipun PHPCS akan mendeteksi beberapa ketidaksesuaian, ada beberapa perubahan runtime yang tidak dapat ditangkap oleh PHPCS. Salah satu contoh yang akan terlewatkan adalah fungsi PHP asli yang lebih ketat dengan tipe apa yang dapat diteruskan sebagai parameter Alat seperti PHPStan, Psalm, atau alat analisis statis lainnya dapat membantu di sini. Namun, agar paling efektif, mereka membutuhkan basis kode Anda untuk menggunakan tipe yang ketat (parameter dan tipe pengembalian dalam kode), atau didokumentasikan dengan benar (baris Alat-alat ini biasanya memiliki tingkat aturan yang memungkinkan untuk memperbaiki masalah tingkat terendah terlebih dahulu, lalu mengintegrasikan alat tersebut lebih lanjut secara bertahap untuk meningkatkan kualitas basis kode Anda Anda dapat menambahkan pengetahuan untuk jenis kode inti WordPress melalui ekstensi seperti phpstan-wordpress dan psalm-plugin-wordpress Setelah dikonfigurasi, setiap proses akan menyoroti di mana Anda meneruskan jenis yang tidak diharapkan ke dalam fungsi, yang dapat menyebabkan Pengecualian TypeError yang fatal dilemparkan. Masing-masing ini perlu diperbaiki Dalam banyak kasus, Anda mungkin dapat menekan pengecualian TypeError melalui penggunaan blok try-catch atau typecasting. Namun, kami sangat menyarankan Anda untuk tidak melakukannya. Memperbaiki akar penyebab akan menghasilkan kode yang lebih kuat, tidak rapuh, dan rawan kesalahan, dan hampir selalu terbayar dalam jangka panjang Dapatkan pembaruan konten terbaruIngin diberitahu tentang konten baru? Cara memulai dengan PHP 8. 0 di WordPress VIPJalankan aplikasi secara lokalMenjalankan instance aplikasi secara lokal adalah langkah pertama yang masuk akal untuk dapat mendeteksi dan memperbaiki masalah kompatibilitas apa pun. Meskipun Anda dapat menggunakan lingkungan pengembangan lokal apa pun, untuk memastikan paritas terbaik dengan platform WordPress VIP, kami merekomendasikan Lingkungan Pengembangan Lokal VIP. Dengan menjalankan perintah Periksa Bot Analisis Kode VIP pada permintaan penarikanJika Anda melihat permintaan penarikan yang dibuat ke repositori Anda di bawah organisasi wpcomvip, Anda akan melihat Bot Analisis Kode VIP memberi Anda umpan balik tentang PHPCS, linting PHP, dan linting SVG Untuk langkah Linting PHP, bot akan melakukan lint kode PHP dengan versi PHP apa pun yang digunakan untuk aplikasi yang digunakan repositori. Jika versi itu adalah PHP 7. 4, sekarang juga, dalam persiapan untuk peralihan yang akan datang. Aktifkan PHP 8 di aplikasi WordPress VIP AndaSetelah Anda melakukan pemeriksaan dan perbaikan sebanyak mungkin secara lokal, saatnya untuk mengaktifkan PHP 8. 0 pada aplikasi VIP WordPress Anda. Mulailah dengan lingkungan terendah Anda, dan periksa apakah semuanya terlihat baik (termasuk log PHP melalui vip-cli atau Log Kesehatan di Dasbor VIP) sebelum beralih ke lingkungan produksi. Anda dapat mengaktifkan PHP 8. 0 di lingkungan apa pun melalui fitur Manajemen Perangkat Lunak baru di Dasbor VIP. Lihat pengumuman Lobi dan untuk mempelajari lebih lanjut Manfaatkan bantuan proaktifTim akun untuk pelanggan Premier sudah menghubungi pelanggan untuk mendiskusikan bagaimana kami dapat mendukung mereka. Mereka akan dikirimi hasil dari PHPCS dan diberikan panduan tentang cara menjalankan pemeriksaan ini sendiri. Peringatan PHP yang akan menjadi kesalahan fatal juga akan disorot, memberi mereka langkah awal untuk mengatasi ketidaksesuaian Bagaimana dengan PHP8. 1?Platform WordPress VIP juga mendukung PHP 8. 1. Ada sedikit perubahan antara PHP 8. 0 dan PHP8. 1 dari yang ada antara PHP 7. 4 dan 8. 0, yang berarti harus ada lebih sedikit ketidakcocokan untuk diatasi PHP 8. 1
Perubahan berguna yang diperlukan untuk PHP 8. 0, seperti menggunakan kode yang diketik dengan ketat dan menambahkan pengujian otomatis, akan membantu dengan PHP 8. 1 peluncuran, serta pemutakhiran untuk WordPress 6. 1, 6. 2, 6. 3 dan seterusnya, serta rilis fitur apa pun yang Anda lakukan. Proses QA sering kali menjadi hambatan, jadi menggunakan beberapa alat dan pendekatan yang telah kami uraikan dapat mengurangi pekerjaan manual dan memberi Anda lebih percaya diri saat menerapkan perubahan ini Versi PHP apa yang harus saya miliki dengan WordPress?WordPress. org merekomendasikan setidaknya PHP 7. 4 . Anda mungkin melihat pesan peringatan di dashboard WordPress Anda yang meminta Anda untuk memutakhirkan PHP jika masih menggunakan versi yang lebih rendah dari 7. 4. Anda dapat menemukan langkah-langkah untuk meningkatkan versi WordPress Anda di bawah ini.
Apakah PHP7. 4 stabil untuk WordPress?PHP versi 7. 4 sangat direkomendasikan oleh tim WordPress resmi.
Haruskah saya meningkatkan ke PHP 7. 4 WordPress?PHP 7 baru. Pembaruan 4 memungkinkan situs Anda mencapai kecepatan kilat dan menyertakan keamanan tambahan dengan pemantauan uptime untuk menambal setiap potensi pelanggaran keamanan dengan cepat. Namun, jika Anda masih menggunakan versi lama PHP, 7. 3 atau lebih rendah, maka Anda menempatkan situs Anda dalam risiko besar .
Apakah PHP 8 lebih baik dari 7?PHP 8 lebih cepat daripada PHP 7 , sintaks memerlukan lebih sedikit kode, dan dukungan pengetikan lebih baik. Tiga kategori peningkatan ini memberikan rilis versi utama PHP yang kuat. |