


Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian
Dec 24, 2024 pm 04:42 PMPHP 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 Sury. 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 Sury 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!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

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

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

Inphp, variablesarepassedbyvalueDefault, arequFunctionsorassignmentsReceiveacopyofthedata, sementara

Untuk mengendalikan muat naik fail PHP dengan selamat, anda perlu mengesahkan sumber dan jenis, mengawal nama fail dan laluan, menetapkan sekatan pelayan, dan memproses fail media dua kali. 1. Sahkan sumber muat naik untuk mengelakkan CSRF melalui token dan mengesan jenis mime sebenar melalui finfo_file menggunakan kawalan putih; 2. Namakan semula fail ke rentetan rawak dan tentukan pelanjutan untuk menyimpannya dalam direktori bukan web mengikut jenis pengesanan; 3. Konfigurasi PHP mengehadkan saiz muat naik dan direktori sementara Nginx/Apache melarang akses ke direktori muat naik; 4. Perpustakaan GD menyambung semula gambar -gambar untuk membersihkan data yang berpotensi.

Ageneratorinphpisamemory-efficientwaytoiterateOverlargedatasetsbyieldingvaluesonateatimeNsteadofreturningthemallatonce.1.GeneratorSuseTheyEldeyWorderWorderToProducevaluuesondemand,

Sebab mengapa header ('Lokasi: ...') Dalam permintaan Ajax tidak sah adalah bahawa penyemak imbas tidak akan secara automatik melakukan pengalihan halaman. Kerana dalam permintaan AJAX, kod status 302 dan maklumat header lokasi yang dikembalikan oleh pelayan akan diproses sebagai data tindak balas, dan bukannya mencetuskan tingkah laku lompat. Penyelesaian adalah: 1. Kembali data JSON dalam PHP dan termasuk URL Jump; 2. Semak medan redirect di hadapan Ajax callback dan lompat secara manual dengan window.location.href; 3. Pastikan output PHP hanya JSON untuk mengelakkan kegagalan parsing; 4. Untuk menangani masalah lintas domain, anda perlu menetapkan tajuk CORS yang sesuai; 5. Untuk mengelakkan gangguan cache, anda boleh menambah cap waktu atau tetapkan cache: f

Untuk mengelakkan rampasan sesi dalam PHP, langkah -langkah berikut perlu diambil: 1. Gunakan HTTPS untuk menyulitkan penghantaran dan set session.cookie_secure = 1 dalam php.ini; 2. Tetapkan atribut kuki keselamatan, termasuk httponly, selamat dan samesite; 3. Panggil session_regenerate_id (benar) apabila pengguna log masuk atau keizinan berubah menjadi berubah menjadi SesiSeId; 4. Hadkan kitaran hayat sesi, konfigurasi GC_MAXLIFETIME dan rekod masa aktiviti pengguna; 5. melarang mendedahkan sessionId ke url, dan tetapkan session.use_only

Fungsi urlencode () digunakan untuk menyandikan rentetan ke dalam format selamat URL, di mana aksara bukan alphanumerik (kecuali-, _, dan.) Digantikan dengan tanda peratus diikuti oleh nombor heksadesimal dua angka. Sebagai contoh, ruang ditukar kepada tanda-tanda, tanda seru ditukar kepada!, Dan watak-watak Cina ditukar kepada borang pengekodan UTF-8 mereka. Apabila menggunakan, hanya nilai parameter yang perlu dikodkan, bukan keseluruhan URL, untuk mengelakkan merosakkan struktur URL. Untuk bahagian lain URL, seperti segmen laluan, fungsi Rawurlencode () harus digunakan, yang menukarkan ruang ke. Apabila memproses parameter array, anda boleh menggunakan http_build_query () untuk mengodkan secara automatik, atau memanggil urlencode secara manual () pada setiap nilai untuk memastikan pemindahan data yang selamat. Hanya

Dalam PHP, anda boleh menggunakan kurungan persegi atau pendakap keriting untuk mendapatkan aksara indeks spesifik rentetan, tetapi kurungan persegi disyorkan; Indeks bermula dari 0, dan akses di luar julat mengembalikan nilai null dan tidak dapat diberikan nilai; MB_SUBSTR dikehendaki mengendalikan watak multi-bait. Sebagai contoh: $ str = "hello"; echo $ str [0]; output h; dan watak -watak Cina seperti MB_SUBSTR ($ str, 1,1) perlu mendapatkan hasil yang betul; Dalam aplikasi sebenar, panjang rentetan perlu diperiksa sebelum gelung, rentetan dinamik perlu disahkan untuk kesahihan, dan projek berbilang bahasa mengesyorkan menggunakan fungsi keselamatan multi-bait secara seragam.

Anda boleh menggunakan substr () atau mb_substr () untuk mendapatkan aksara n pertama dalam php. Langkah -langkah khusus adalah seperti berikut: 1. Gunakan substr ($ string, 0, n) untuk memintas aksara N yang pertama, yang sesuai untuk aksara ASCII dan mudah dan cekap; 2. Apabila memproses aksara multi-bait (seperti Cina), MB_SUBSTR ($ String, 0, N, 'UTF-8'), dan memastikan bahawa lanjutan MBSTRING diaktifkan; 3. Jika rentetan mengandungi aksara HTML atau Whitespace, anda harus terlebih dahulu menggunakan strip_tags () untuk mengeluarkan tag dan trim () untuk membersihkan ruang, dan kemudian memintasnya untuk memastikan hasilnya bersih.
