Cara Mengaktifkan dan Mengkonfigurasi Modul PHP Opcache dalam ServBay
ServBay ialah persekitaran pembangunan web tempatan yang berkuasa, direka khas untuk pembangun serta mengintegrasikan pelbagai timbunan teknologi termasuk PHP. Untuk membantu pembangun mengoptimumkan prestasi aplikasi PHP, ServBay telah memasang modul Opcache untuk setiap versi PHP yang disokong. Artikel ini menerangkan secara terperinci cara mengaktifkan dan mengkonfigurasi Opcache dalam ServBay, serta bagaimana ia dapat mempercepat pembangunan dan ujian aplikasi PHP anda.
Pengenalan Modul Opcache
Opcache ialah sambungan rasmi untuk PHP yang meningkatkan prestasi pelaksanaan kod PHP. Ia berfungsi dengan menyimpan bytecode skrip PHP yang telah disusun ke dalam memori berkongsi. Dengan ini, permintaan berikutnya untuk skrip yang sama dapat menggunakan bytecode dari cache tanpa perlu mengulangi proses parsing, kompilasi, dan optimasi, sekaligus mengurangkan penggunaan CPU dan memori serta mempercepatkan respon aplikasi.
Kenapa Opcache Penting Untuk Pembangun?
- Mempercepat Pembangunan & Ujian: Mengaktifkan Opcache dalam persekitaran pembangunan tempatan menjadikan aplikasi anda berjalan lebih pantas, mengurangkan masa menunggu dan meningkatkan produktiviti pembangunan.
- Mensimulasikan Persekitaran Produksi: Kebanyakan persekitaran produksi akan mengaktifkan Opcache untuk prestasi yang optimum. Mengaktifkannya secara tempatan memudahkan anda mensimulasikan realiti produksi.
- Mengurangkan Penggunaan Sumber: Terutama jika menggunakan rangka kerja besar atau aplikasi kompleks, Opcache dapat mengurangkan penggunaan sumber sistem secara signifikan.
Ciri-ciri Utama Opcache
- Cache Bytecode: Fungsi utama, menyimpan kod PHP yang telah disusun.
- Memori Berkongsi: Cache disimpan dalam memori bersama, boleh diakses oleh pelbagai proses PHP.
- Pengesahan Otomatik: Opcache boleh dikonfigurasi untuk mengesan fail yang dikemas kini pada selang waktu tertentu, memastikan cache sentiasa terkini.
- Konfigurasi Fleksibel: Pelbagai tetapan tersedia untuk memastikan anda boleh melaraskan mengikut keperluan pembangunan.
- Sokongan Terbina: Sebagai sambungan rasmi PHP, ia diintegrasikan secara mendalam dengan kernel PHP.
Sokongan ServBay Terhadap Opcache
ServBay telah memasang modul Opcache untuk semua versi PHP yang terintegrasi di dalamnya (seperti PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 dan sebagainya). Pengguna tidak perlu memuat turun atau kompilasi secara manual—anda boleh terus mengaktifkan atau mengkonfigurasi melalui antara muka grafik ServBay atau dengan mengubah fail konfigurasi.
Cara Mengaktifkan Modul Opcache
Terdapat dua kaedah utama untuk mengaktifkan Opcache dalam ServBay: melalui antara muka grafik (GUI) atau dengan mengedit fail konfigurasi secara manual.
Kaedah 1: Aktifkan Melalui GUI ServBay (Disyorkan)
Ini adalah cara yang paling mudah dan pantas.
- Buka aplikasi ServBay.
- Pada bar sisi navigasi, klik Languages (Bahasa).
- Pilih versi PHP di mana anda ingin aktifkan Opcache, contohnya PHP 8.3.
- Dalam halaman maklumat terperinci versi PHP di sebelah kanan, klik tab Extensions (Sambungan).
- Cari OPcache dalam senarai sambungan.
- Klik suis di sebelah kiri OPcache untuk mengaktifkannya.
- Klik butang Save (Simpan) di bahagian bawah halaman.
- ServBay akan meminta anda untuk memulakan semula pakej PHP berkaitan bagi menggunakan perubahan. Klik butang Restart (Mulakan Semula).
Selepas proses mula semula selesai, modul Opcache telah berjaya diaktifkan.
Kaedah 2: Edit Fail Konfigurasi Secara Manual
Jika anda memerlukan konfigurasi yang lebih terperinci, atau gemar mengurus konfigurasi melalui fail, anda boleh mengedit fail .ini
untuk Opcache secara manual.
- Lokasi Fail Konfigurasi: Fail konfigurasi Opcache terletak di direktori
conf.d
bagi versi PHP yang digunakan. Direktori ini menyimpan fail konfigurasi untuk pelbagai sambungan PHP versi tersebut.- Sebagai contoh, untuk PHP 8.3, laluan fail biasanya:
/Applications/ServBay/etc/php/8.3/conf.d/opcache.ini
1 - Laraskan nombor versi dalam laluan mengikut versi PHP yang anda gunakan.
- Sebagai contoh, untuk PHP 8.3, laluan fail biasanya:
- Edit Fail Konfigurasi: Buka fail
opcache.ini
menggunakan editor teks kegemaran anda.- Biasanya, fail ini sudah mengandungi kerangka konfigurasi asas Opcache yang mungkin sedang dinyahaktifkan dengan komen. Cari bahagian
[Zend Opcache]
. - Keluarkan komen (hapus tanda
;
di permulaan baris) padazend_extension = opcache.so
untuk memastikan sambungan Opcache dimuatkan. - Ubah atau tambahkan parameter konfigurasi lain yang diperlukan. Contoh konfigurasi adalah seperti berikut (keterangan bagi setiap parameter akan diterangkan dalam bahagian seterusnya):ini
[Zend Opcache] ; Pastikan sambungan dimuatkan zend_extension = opcache.so ; Konfigurasi Asas (nilai contoh) opcache.enable = 1 ; Aktifkan Opcache global (1=aktif, 0=nyahaktif) opcache.memory_consumption = 128 ; Jumlah memori untuk cache opcode (dalam MB) opcache.interned_strings_buffer = 8; Jumlah memori untuk interned strings (dalam MB) opcache.max_accelerated_files = 4000 ; Maksimum fail yang boleh dicache opcache.revalidate_freq = 60 ; Kekerapan menyemak masa fail dikemas kini (dalam saat). 0 = periksa setiap permintaan (perlahan), sesuai untuk pembangunan. opcache.fast_shutdown = 1 ; Aktifkan penutupan cepat opcache.enable_cli = 1 ; Aktifkan Opcache untuk CLI PHP (Antara Muka Baris Perintah)
1
2
3
4
5
6
7
8
9
10
11
12 - Simpan fail
opcache.ini
.
- Biasanya, fail ini sudah mengandungi kerangka konfigurasi asas Opcache yang mungkin sedang dinyahaktifkan dengan komen. Cari bahagian
- Mulakan Semula Pakej PHP: Dalam aplikasi ServBay, cari pakej PHP berkaitan (di bawah menu lungsur Packages (Pakej) di bar sisi, kemudian pilih PHP) dan klik butang mulakan semula.
Selepas anda mengedit konfigurasi secara manual dan mulakan semula pakej PHP, modul serta tetapan Opcache akan berkuat kuasa.
Cara Semak Sama Ada Modul Opcache Berjaya Dimuatkan
Kaedah paling boleh dipercayai untuk mengesahkan sama ada Opcache telah diaktifkan ialah dengan melihat maklumat konfigurasi PHP (phpinfo()
).
- Cipta Fail
phpinfo.php
: Di direktori root laman web ServBay anda, cipta satu fail PHP baharu, contohnyaphpinfo.php
. Laluan root laman web ServBay secara lalai ialah/Applications/ServBay/www/
. Anda boleh mencipta subfolder ujian, contohnya/Applications/ServBay/www/servbay.demo/
, dan letakkan failphpinfo.php
di sana. Kandungan fail adalah seperti berikut:php<?php phpinfo(); ?>
1
2
3 - Akses
phpinfo.php
: Pastikan pelayan web anda (seperti Caddy atau Nginx) sedang berjalan dan telah dikonfigurasi untuk mengakses root atau subfolder laman web anda. Layari URL fail ini di browser.- Jika anda meletakkan fail di
/Applications/ServBay/www/servbay.demo/
dan telah menetapkan domainservbay.demo
di ServBay ke folder ini, anda boleh layarihttp://servbay.demo/phpinfo.php
. - Jika anda menggunakan root lalai
/Applications/ServBay/www/
dan laman web lalai ServBay menunjuk ke sana, anda boleh akses kehttp://localhost/phpinfo.php
atau alamat local ServBay yang lain.
- Jika anda meletakkan fail di
- Cari Maklumat Opcache: Di halaman
phpinfo()
yang dibuka, tatal ke bawah atau gunakan fungsi carian pelayar (Cmd+F
atauCtrl+F
) dan cari "Opcache".- Jika modul Opcache berjaya dimuatkan, anda akan melihat bahagian konfigurasi berasingan yang dinamakan "Zend Opcache". Bahagian ini memaparkan versi, status, serta tetapan semasa Opcache.
- Jika tidak terdapat bahagian "Zend Opcache", itu bermakna modul tidak dimuatkan dengan betul. Kembali dan semak langkah pengaktifan dan konfigurasi fail anda.
Rajah: Cari blok konfigurasi Zend Opcache pada halaman phpinfo
Penjelasan Parameter Konfigurasi Opcache
Opcache menawarkan pelbagai tetapan yang boleh disuaikan berdasarkan keperluan pembangunan atau aplikasi anda. Parameter-parameter ini biasanya dikonfigurasi dalam fail opcache.ini
. Berikut ialah beberapa parameter penting beserta penjelasannya:
ini
[Zend Opcache]
; Pastikan sambungan dimuatkan
zend_extension = opcache.so
; Aktifkan Opcache. 0 = nyahaktif, 1 = aktif. Butang suis dalam GUI mengawal parameter ini.
opcache.enable = 1
; Jumlah memori untuk menyimpan bytecode PHP yang telah disusun (dalam MB).
; Laras nilai ini mengikut saiz projek dan memori yang tersedia. Projek besar memerlukan lebih banyak memori.
opcache.memory_consumption = 128
; Jumlah memori dikongsi untuk menyimpan string dalaman (seperti nama kelas, fungsi), dalam MB.
; Untuk rangka kerja yang menggunakan banyak string (seperti Symfony), tingkatkan nilai ini jika perlu.
opcache.interned_strings_buffer = 8
; Bilangan maksimum fail yang boleh dicache oleh Opcache.
; Jika fail projek anda melebihi nilai ini, sebahagian fail tidak akan dicache. Tetapkan nilai lebih besar daripada jumlah fail projek.
opcache.max_accelerated_files = 10000
; Kekerapan Opcache memeriksa kemas kini skrip, dalam saat.
; Untuk produksi, biasanya nilai besar digunakan (cth. 300 atau 600), atau 0 (tidak memeriksa secara automatik, perlu 'flush' cache secara manual).
; **Dalam pembangunan tempatan, tetapkan nilai kecil (seperti 1 atau 2) supaya perubahan kod segera berkuat kuasa.** Jika 0, setiap permintaan akan semak kemas kini fail—itu perlahan, tetapi bagus untuk pembangunan.
opcache.revalidate_freq = 2
; Aktifkan urutan penutupan pantas. Ini mempercepat pelepasan memori pada hujung permintaan. Amnya disyorkan untuk diaktifkan.
opcache.fast_shutdown = 1
; Aktifkan Opcache di antara muka baris perintah PHP (CLI).
; Berguna untuk mempercepat skrip CLI seperti Composer dan ujian unit. Amnya disyorkan untuk diaktifkan.
opcache.enable_cli = 1
; Benarkan memori dikongsi yang tidak digunakan dilepaskan. Kadang-kadang membantu menjimatkan memori, tetapi mungkin berimpak kecil pada prestasi. Umumnya biarkan lalai atau matikan.
; opcache.enable_file_override = 0
; Ketika memcache jalan fail, adakah komen diabaikan? Mengaktifkannya dapat menjimatkan sedikit memori, tetapi mungkin mempengaruhi alat yang bergantung pada komen.
; opcache.save_comments = 1
; Simpan komen dokumen (docblock) dalam cache. Wajib diaktifkan jika menggunakan alat yang bergantung kepada dokumen komen seperti PHPUnit atau Doctrine.
; opcache.load_comments = 1
; Tahap optimasi. Lebih tinggi nilainya, lebih agresif optimasinya. Lalai sudah mencukupi untuk kebanyakan aplikasi.
; opcache.optimization_level = 0x7FFFBBFF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Ingat: Selepas mengubah suai opcache.ini
, anda perlu mulakan semula pakej PHP supaya perubahan berkuat kuasa.
Soalan Lazim (FAQ)
- S: Adakah Opcache diaktifkan secara lalai? J: Dalam ServBay, modul Opcache telah dipasang tetapi biasanya ia tidak diaktifkan secara lalai. Anda perlu mengaktifkan secara manual mengikut langkah-langkah di atas.
- S: Adakah mengaktifkan Opcache menjejaskan proses pembangunan saya? J: Mengaktifkan Opcache mempercepat pelaksanaan aplikasi anda. Semasa dalam pembangunan, disyorkan tetapkan
opcache.revalidate_freq
pada nilai rendah (seperti 1 atau 2) atau 0 supaya setiap perubahan kod cepat digunakan. Pada tahap produksi, anda boleh menukar kepada nilai besar atau 0 dan menggunakan pembersihan cache manual. - S: Adakah Opcache akan cache skrip PHP CLI? J: Secara lalai, tidak. Anda perlu tetapkan
opcache.enable_cli
kepada1
untuk mengaktifkan Opcache di PHP CLI. Ini mempercepatkan Composer, ujian unit, atau kerja baris perintah lain. - S: Berapa banyak memori patut saya tetapkan untuk Opcache? J: Nilai
opcache.memory_consumption
bergantung pada saiz dan kompleksiti projek anda. Untuk kebanyakan projek pembangunan tempatan, 128MB atau 256MB sudah mencukupi. Jika projek sangat besar atau anda nampak amaran cache penuh diphpinfo()
, tingkatkan nilainya. - S: Apa yang perlu saya lakukan selepas ubah
opcache.ini
? J: Selepas menyimpan fail.ini
, anda mesti memulakan semula pakej PHP berkaitan supaya tetapan baru diaktifkan.
Rumusan
Opcache adalah alat pengoptimuman prestasi PHP yang sangat berkuasa dan mudah digunakan. ServBay menyediakan cara yang mudah untuk mengaktifkan dan mengurus modul Opcache—anda boleh memilih antara penggunaan antara muka grafik atau fail konfigurasi untuk kawalan penuh. Dengan hanya beberapa langkah mudah, anda boleh mengaktifkan Opcache di persekitaran ServBay, mempercepat pemuatan dan tindak balas aplikasi PHP anda, dan sekaligus mengoptimumkan pengalaman pembangunan serta ujian anda. Konfigurasi parameter Opcache secara bijak untuk penalaan prestasi berdasarkan sifat projek dan keperluan pembangunan. Mulakan sekarang dan rasai lonjakan prestasi PHP melalui pengaktifan Opcache dalam ServBay!