


PHP 8.4 membawakan beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan ciri yang sihat dan penyingkiran.
Panduan ini menerangkan cara memasang PHP 8.4 atau menaik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau derivatifnya. Walaupun adalah mungkin untuk menyusun PHP dari sumber, memasangnya dari repositori APT seperti yang dijelaskan di bawah selalunya lebih pantas dan lebih selamat kerana repositori ini akan menyediakan pepijat terkini pembetulan dan kemas kini keselamatan pada masa hadapan.
PHP 8.4 tidak tersedia dalam repositori perisian Debian dan Ubuntu semasa. Panduan ini menggunakan repositori yang diselenggara oleh Ondřej Surý. Repositori PHP Ondrej telah menjadi repositori de-facto untuk PHP pada Ubuntu, Debian dan derivatifnya selama beberapa tahun.
Potensi Kesan Keserasian Ke Belakang dalam PHP 8.4
PHP 8.4 membawa beberapa ciri baharu seperti cangkuk hartanah , keterlihatan tidak simetri, peningkatan dalam DOM, Curl, sambungan PCRE dan lagi.
Walau bagaimanapun, PHP 8.4 juga menafikan beberapa fungsi PHP dan mengalih keluar empat sambungan PHP daripada teras PHP kepada PECL. Ini boleh menjejaskan PHP sedia ada aplikasi untuk mengeluarkan notis/amaran PHP tambahan, atau gagal dalam keadaan tertentu syarat.
Beberapa perubahan ketara yang berkemungkinan menjejaskan aplikasi sedia ada termasuk:
- Pengisytiharan parameter boleh batal secara tersirat ditamatkan
- Malar E_STRICT ditamatkan
- Sambungan dialihkan daripada teras PHP ke PECL: Pspell, IMAP, OCI8 dan PDO_OCI.
Apabila sambungan PHP dialihkan daripada teras PHP ke PECL, sambungan akan mengikuti kitaran keluarannya sendiri. Repositori yang digunakan dalam panduan akan menyediakan kemas kini untuk mereka jika projek PECL untuk sambungan itu mengeluarkan kemas kini. Walau bagaimanapun, ini juga bermakna sambungan PECL boleh (dan selalunya) ketinggalan dalam penyelenggaraan.
Sebelum meneruskan, pastikan anda membuat sandaran sistem. Panduan ini memasang PHP 8.4 bersebelahan di sepanjang mana-mana pemasangan PHP sedia ada, yang menawarkan cara mudah untuk beralih kembali ke pemasangan PHP yang lain jika perlu.
Langkah ini hanya terpakai apabila menaik taraf persediaan PHP sedia ada. Perintah berikut menyenaraikan semua pakej PHP yang dipasang dengan teks php dalam namanya, menunjukkannya pada skrin dan menulisnya ke fail bernama packages.txt. Fail ini berguna pada langkah seterusnya apabila memasang pakej PHP 8.4, untuk memastikan senarai sambungan versi PHP 8.4 yang sama dipasang.
dpkg -l | grep php | tee packages.txt
2. Tambah ondrej/php PPA/DPA
Kerana pakej PHP 8.4 tidak tersedia dalam mana-mana semasa Repositori perisian Debian atau Ubuntu, pakej PHP mesti datang dari repo lain.
Ondřej Surý mengekalkan arkib pakej yang mengandungi binari terkumpul semua versi PHP semasa, untuk Ubuntu dan Debian. Ia juga menghantar beberapa PECL sambungan termasuk sambungan PECL untuk sambungan teras PHP dinyahhimpun dalam PHP 8.4.
Setelah repositori ini ditambahkan, pemasangan awal dan kemas kini boleh dilakukan dengan arahan apt standard.
Ubuntu PPA
dpkg -l | grep php | tee packages.txt
DPA Debian
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php # Press enter to confirm.sudo apt update
3. Pasang pakej API Pelayan PHP 8.4
Dalam PPA dan DPA Ondrej, pakej PHP 8.4 mengikut corak php8.1-NAME. PECL dan sambungan PHP kongsi juga mengikut corak yang sama.
Sebelum memasang sambungan PHP, pastikan anda memasang salah satu daripada pakej PHP Server API (SAPI) berikut:
Pasang PHP-CLI sahaja
Untuk memasang PHP CLI, pasang pakej php8.1-cli, bersama-sama dengan sambungan dikehendaki.
sudo apt-get updatesudo apt-get -y install lsb-release ca-certificates curl apt-transport-httpssudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.debsudo dpkg -i /tmp/debsuryorg-archive-keyring.debsudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'sudo apt-get update
PHP-CLI dan PHP sebagai modul Apache
Untuk memasang PHP CLI dan PHP 8.4 sebagai modul Apache, pasang pakej libapache2-mod-php8.4:
sudo apt install php8.4-cli
Melainkan aplikasi PHP memerlukan PHP dipasang sebagai modul Apache, pertimbangkan untuk memasang PHP-FPM sebaliknya.
PHP CLI dan PHP-FPM (disyorkan)
Adalah disyorkan untuk memasang PHP-FPM untuk menyepadukan PHP dengan pelayan web seperti Apache, Nginx dan Caddy.
sudo apt install php8.4-cli libapache2-mod-php8.4
Ini memasang perkhidmatan php8.4-fpm dan mendayakannya secara automatik. Lihat bahagian penyepaduan pelayan web FPM untuk langkah tambahan yang diperlukan kemudian.
5. Semak Pemasangan
Untuk semakan pantas pemasangan PHP, jalankan yang berikut:
sudo apt install php8.4-cli php8.4-fpm
Ia sepatutnya menunjukkan versi PHP, masa binaan dan maklumat lanjut:

Jika perkhidmatan PHP-FPM dipasang, statusnya boleh disemak sebagai berikut:
php -v
Jika pelayan PHP-FPM berjalan dengan jayanya, ia sepatutnya menunjukkan output yang serupa seperti di bawah:

4. Pasang Sambungan PHP
Semua sambungan PHP dan sambungan PECL yang dikongsi mengikut corak php8.4-EXTNAME, di mana extname ialah nama sambungan.
Apabila menaik taraf sistem sedia ada, rujuk kepada fail packages.txt yang dibuat dalam langkah pertama untuk menyemak sambungan PHP 8.3 atau lebih lama sedia ada.
Untuk memasang PHP sambungan, gunakan arahan pemasangan apt dengan nama sambungan PHP dengan awalan php-8.4-. Sebagai contoh, sambungan gd dipasang dengan pakej php8.4-gd:
sudo systemctl status php8.4-fpm
Arahan berikut memasang set sambungan PHP yang paling biasa yang diperlukan oleh majoriti perpustakaan dan rangka kerja PHP:
sudo apt install php8.4-gd
Untuk mencari sambungan PHP tambahan, gunakan arahan carian apt:
dpkg -l | grep php | tee packages.txt
Alat Pembangunan
Peralatan pembangunan seperti Xdebug dan alatan liputan kod juga boleh dipasang mengikut konvensyen penamaan pakej yang sama.
Langkah ini tidak disyorkan pada pengeluaran pelayan.
Xdebug
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php # Press enter to confirm.sudo apt update
PCOV
sudo apt-get updatesudo apt-get -y install lsb-release ca-certificates curl apt-transport-httpssudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.debsudo dpkg -i /tmp/debsuryorg-archive-keyring.debsudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'sudo apt-get update
5. Penyepaduan Pelayan Web
Bergantung pada API pelayan yang dipasang dalam langkah 3, penyepaduan pelayan web mungkin memerlukan konfigurasi tambahan untuk peningkatan PHP 8.4 berkuat kuasa.
PHP-FPM
Apabila menggunakan PHP-FPM (dengan memasang pakej php8.4-fpm), pelayan web perlu dikonfigurasikan semula untuk berkomunikasi dengan PHP 8.4 Pelayan FPM melalui laluan soket yang dikemas kini.
Apache: Perubahan konfigurasi ini dipermudahkan dengan menghidupkan fail konfigurasi PHP 8.4:
sudo apt install php8.4-cli
Nginx: Kemas kini arahan fastcgi_pass daripada laluan soket PHP FPM lama kepada PHP 8.4 baharu laluan:
sudo apt install php8.4-cli libapache2-mod-php8.4
Lihat dokumentasi Nginx untuk maklumat lanjut
Caddy Server: Kemas kini arahan reverse_proxy untuk menggunakan laluan soket pelayan PHP 8.4 FPM baharu:
sudo apt install php8.4-cli php8.4-fpm
Lihat Cara menggunakan Pelayan Caddy dengan PHP untuk mendapatkan butiran konfigurasi lanjut.
PHP sebagai Modul Apache
Jika PHP dipasang sebagai modul Apache, arahan berikut melumpuhkan modul PHP sebelumnya (8.3 dalam contoh ini) dan mendayakan versi PHP baharu:
php -v
Atas ialah kandungan terperinci Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Untuk melindungi permohonan dari serangan XSS yang berkaitan dengan sesi, langkah-langkah berikut diperlukan: 1. Tetapkan bendera httponly dan selamat untuk melindungi kuki sesi. 2. Kod eksport untuk semua input pengguna. 3. Melaksanakan Dasar Keselamatan Kandungan (CSP) untuk mengehadkan sumber skrip. Melalui dasar-dasar ini, serangan XSS yang berkaitan dengan sesi dapat dilindungi dengan berkesan dan data pengguna dapat dipastikan.

Kaedah untuk mengoptimumkan prestasi sesi PHP termasuk: 1. Mula sesi kelewatan, 2. Gunakan pangkalan data untuk menyimpan sesi, 3. Data sesi kompres, 4. Mengurus kitaran hayat sesi, dan 5. Melaksanakan perkongsian sesi. Strategi ini dapat meningkatkan kecekapan aplikasi dalam persekitaran konkurensi yang tinggi.

Thesession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata, setInseconds.1) it'sconfiguredinphp.iniorviaini_set (). 2) abalanceisneededtoavoidperformanceissuesandunexpectedlogouts.3) php'sgarbageCollectionisprobabilistic, influedbygc_probabi

Dalam PHP, anda boleh menggunakan fungsi session_name () untuk mengkonfigurasi nama sesi. Langkah -langkah tertentu adalah seperti berikut: 1. Gunakan fungsi session_name () untuk menetapkan nama sesi, seperti session_name ("my_session"). 2. Selepas menetapkan nama sesi, hubungi session_start () untuk memulakan sesi. Mengkonfigurasi nama sesi boleh mengelakkan konflik data sesi antara pelbagai aplikasi dan meningkatkan keselamatan, tetapi memberi perhatian kepada keunikan, keselamatan, panjang dan penetapan masa sesi.

ID sesi hendaklah dijadikan semula secara teratur pada log masuk, sebelum operasi sensitif, dan setiap 30 minit. 1. Meningkatkan semula ID Sesi semasa log masuk untuk mengelakkan serangan tetap sesi. 2. Regenerate sebelum operasi sensitif untuk meningkatkan keselamatan. 3. Penjanaan semula secara berkala mengurangkan risiko penggunaan jangka panjang, tetapi pengalaman pengguna perlu ditimbang.

Menetapkan Parameter Cookie Sesi di PHP boleh dicapai melalui fungsi session_set_cookie_params (). 1) Gunakan fungsi ini untuk menetapkan parameter, seperti masa tamat, laluan, nama domain, bendera keselamatan, dan lain -lain; 2) hubungi session_start () untuk membuat parameter berkuatkuasa; 3) menyesuaikan parameter secara dinamik mengikut keperluan, seperti status log masuk pengguna; 4) Perhatikan untuk menetapkan bendera selamat dan httponly untuk meningkatkan keselamatan.

Tujuan utama menggunakan sesi dalam PHP adalah untuk mengekalkan status pengguna antara halaman yang berbeza. 1) Sesi dimulakan melalui fungsi session_start (), mewujudkan ID sesi yang unik dan menyimpannya dalam cookie pengguna. 2) Data sesi disimpan di pelayan, yang membolehkan data diluluskan antara permintaan yang berbeza, seperti status log masuk dan kandungan keranjang belanja.

Bagaimana untuk berkongsi sesi antara subdomain? Dilaksanakan dengan menetapkan kuki sesi untuk nama domain biasa. 1. Tetapkan domain cookie sesi ke .example.com di sebelah pelayan. 2. Pilih kaedah penyimpanan sesi yang sesuai, seperti memori, pangkalan data atau cache yang diedarkan. 3. Lulus ID Sesi melalui kuki, dan pelayan mengambil semula dan mengemas kini data sesi berdasarkan ID.


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

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini