Konfigurasi PHP
Bagian PHP configuration di bawah halaman Switch berisi pengaturan PHP yang tidak berkaitan dengan versi mana yang berjalan: nilai php.ini milikmu, bundel sertifikat yang dibutuhkan HTTPS, dan apakah php bisa dipakai di setiap terminal.
Pengaturan PHP milikmu
Rezure membuat sendiri php.ini untuk setiap versi PHP dan menulisnya ulang setiap kali start, jadi mengedit file itu tidak akan bertahan. Taruh pengaturanmu di folder ini:
C:\rezure\etc\php\conf.dFile .ini apa pun di sana dimuat setelah php.ini milik Rezure, jadi nilainya yang menang. Tombol Open folder di kartu Your PHP settings membawamu ke sana, dan README.txt di dalamnya berisi contoh.
Misalnya, C:\rezure\etc\php\conf.d\90-local.ini:
memory_limit = 1G
upload_max_filesize = 256M
post_max_size = 256M
max_execution_time = 600
date.timezone = Asia/Jakarta- Restart PHP di halaman Services supaya perubahan sampai ke situs yang sedang berjalan.
- File dimuat menurut urutan abjad, jadi
90-local.inimenang atas10-something.ini. - Folder ini berlaku untuk setiap versi PHP, untuk situsmu, dan untuk terminal proyek. Dengan Use Rezure's PHP everywhere aktif, berlaku di setiap terminal.
- Untuk ekstensi, pakai halaman Ekstensi PHP, bukan baris
extension=di sini.
Yang diatur php.ini milik Rezure, sebagai referensi:
| Pengaturan | Nilai |
|---|---|
memory_limit | 256M |
upload_max_filesize, post_max_size | 64M |
max_execution_time | 300 |
output_buffering | 4096 |
date.timezone | UTC |
| Folder temp untuk session dan upload | C:\rezure\data\php\tmp |
curl.cainfo, openssl.cafile | Bundel CA, kalau sudah terpasang |
Nginx menerima body request sampai 64 MB. Menaikkan upload_max_filesize dan post_max_size melebihi itu tidak membantu: Nginx menolak upload yang lebih besar sebelum PHP melihatnya.
Sertifikat CA
PHP mengecek sertifikat HTTPS terhadap daftar root certificate tepercaya, dan zip PHP untuk Windows tidak membawa satu pun. Tanpanya, setiap panggilan HTTPS keluar dari PHP gagal dengan cURL error 60: SSL certificate problem: Composer, Guzzle, client Http milik Laravel, payment gateway, login OAuth.
Kartu CA certificates memperbaikinya:
- Klik Download (atau Update kalau sudah terpasang).
- Rezure mengambil root certificate Mozilla dari
https://curl.se/ca/cacert.pem, mencocokkannya dengan SHA-256 yang dipublikasikan curl.se, dan menyimpannya keC:\rezure\etc\cacert.pem. curl.cainfodanopenssl.cafilesama-sama menunjuk ke file itu untuk setiap versi PHP.
Kartunya menampilkan "Mozilla's root certificates as of YYYY-MM-DD, from curl.se." saat sudah ada, atau "Not installed: HTTPS calls from PHP can't be verified." berwarna kuning saat belum. Setelah pemasangan pertama, restart PHP; setelah pembaruan, situs yang berjalan memakainya mulai request berikutnya.
Instalasi Rezure yang baru sudah menyertakan bundel. Kalau kamu mengganti cacert.pem dengan milikmu sendiri, misalnya untuk menambahkan sertifikat proxy kantor, kartunya menampilkan "A bundle Rezure didn't put there: kept as it is." Pembaruan aplikasi tidak menyentuhnya, tetapi mengklik Update akan menggantinya dengan milik Mozilla.
Cek Kebutuhan menguji ini untukmu di proyek mana pun.
Memakai PHP Rezure di mana saja
Secara bawaan, PHP milik Rezure hanya ada di PATH pada terminal yang dibukanya untuk sebuah proyek. Aktifkan Use Rezure's PHP everywhere ("Puts the active version on your PATH, so php works in every terminal, not only the ones Rezure opens.") untuk menjadikannya php di terminal VS Code, PowerShell, Git Bash, dan semua lainnya.
Apa yang diubah
- Membuat folder link,
C:\rezure\current\php, yang menunjuk ke versi aktif global. (Ini directory junction, yang tidak butuh hak administrator.) - Menambahkan folder itu ke awal
PATHuser-mu.PATHsistem tidak pernah disentuh. - Menambahkan
C:\rezure\etc\php\conf.dke variabelPHP_INI_SCAN_DIRmilik user-mu, supaya pengaturan PHP milikmu juga dimuat di setiap terminal.
Buka terminal baru supaya perubahannya terbaca; terminal yang sudah terbuka tetap memakai PATH saat dibuka. Setelah itu, mengganti versi di halaman Switch hanya mengarahkan ulang link-nya, jadi terminal yang sudah terbuka pun ikut. Kartunya menampilkan "php → {version}" dan ke mana link-nya menunjuk.
Kalau ada PHP lain di urutan pertama PATH-mu (milik Laragon, XAMPP, WAMP), kartunya memberitahumu sebelum kamu menyalakannya ("Laragon already provides php. Turning this on puts Rezure ahead of it; turning it off hands it straight back.").
Mematikannya
Hanya menghapus entri PATH milik Rezure dan folder Rezure dari PHP_INI_SCAN_DIR (menghapus variabelnya kalau tidak ada isi lain), dan menghapus folder link. Tidak ada versi PHP yang dihapus.
Yang perlu diketahui
- Selalu mengikuti versi global. Kunci versi proyek hanya berlaku untuk situs dan terminal proyeknya.
- PHP di
PATHsistem tetap menang, karena Windows membacaPATHsistem sebelumPATHuser. Kalauwhere phpmenampilkan PHP lain di urutan pertama setelah menyalakan ini, hapus entri itu dariPATHsistem (System Properties → Environment Variables). - "The link is out of sync: switch a version to re-point it." berarti link-nya menunjuk ke tempat yang tidak terduga; memilih versi di halaman Switch memperbaikinya. Rezure juga mengarahkannya ulang setiap kali dijalankan.
Folder drop-in
"A PHP build copied in here shows up in the list above, alongside the ones Rezure installed." Open folder di kartu Drop-in folder membuka C:\rezure\custom\php. Lihat Versi PHP.
Terkait
- Versi PHP: pasang dan ganti versi
- Ekstensi PHP: ekstensi per versi
- File & Folder: di mana semuanya disimpan