Konfigurasi File PHP.INI: Panduan untuk Pemula
Hai teman-teman, para ahli PHP masa depan! Hari ini, kita akan memulai sebuah perjalanan menarik ke dunia konfigurasi PHP. Jangan khawatir jika Anda belum pernah menulis satu baris kode sebelumnya - saya akan menjadi panduan ramah Anda dalam petualangan ini. Pada akhir panduan ini, Anda akan dapat mengkonfigurasi PHP seperti seorang ahli!
Apa Itu PHP.INI?
Sebelum kita mendalam, mari bicarakan apa sebenarnya PHP.INI itu. Bayangkan Anda sedang mengatur ponsel baru. Anda mungkin ingin mengatur beberapa pengaturan agar ponsel tersebut bekerja seperti yang Anda inginkan, kan? Baiklah, PHP.INI seperti menu pengaturan untuk PHP. Itu adalah file konfigurasi yang memberitahu PHP bagaimana perilakunya.
File Konfigurasi Yang Dimuat
Pertama-tama, mari kita ketahui file PHP.INI mana yang sedang digunakan oleh sistem Anda. PHP dapat menggunakan file konfigurasi yang berbeda tergantung pada pengaturannya. Berikut adalah cara sederhana untuk memeriksa:
<?php
phpinfo();
?>
Simpan ini sebagai file PHP (misalnya info.php
) dan jalankan di browser Anda. Cari entri "Loaded Configuration File". Itu adalah file PHP.INI yang aktif Anda!
Pengaturan PHP.INI Umum
Sekarang, mari kita jelajahi beberapa pengaturan terpenting dalam PHP.INI. Saya akan menjelaskan apa yang dilakukan setiap pengaturan dan memberikan contoh penggunaannya.
short_open_tag = Off
Pengaturan ini menentukan apakah PHP mengijinkan bentuk singkat tag pembuka PHP (<?
). Ketika itu dimatikan, Anda harus menggunakan tag pembuka PHP penuh (<?php
).
<?php
echo "Halo, Dunia!";
?>
Dengan short_open_tag = On
, Anda dapat menulis:
<? echo "Halo, Dunia!"; ?>
Tetapi umumnya direkomendasikan untuk membiarkannya dimatikan untuk kompatibilitas yang baik.
safe_mode = Off
Mode aman adalah fitur keamanan di versi PHP yang lama. Sekarang ini sudah usang dan dihapus di PHP 5.4.0 dan seterusnya. Jika Anda menggunakan versi PHP modern, Anda tidak akan melihat pengaturan ini.
disable_functions = [function1, function2...]
Ini adalah fitur keamanan yang kuat. Itu memungkinkan Anda untuk mematikan fungsi PHP tertentu yang Anda anggap berisiko. Misalnya:
disable_functions = exec,passthru,shell_exec,system
Ini akan mencegah PHP menjalankan perintah sistem, yang bisa menjadi risiko keamanan.
max_execution_time = 30
Ini menentukan waktu maksimum dalam detik sebelum skrip dihentikan. Itu seperti menyetel timer untuk skrip Anda.
<?php
// Skrip ini akan berjalan maksimal 30 detik
for ($i = 0; $i < 1000000; $i++) {
echo $i . "<br>";
}
?>
error_reporting = E_ALL & ~E_NOTICE
Pengaturan ini mengendalikan error mana yang akan dilaporkan. E_ALL
berarti laporkan semua error, dan ~E_NOTICE
berarti kecuali notice.
<?php
// Dengan E_ALL & ~E_NOTICE, ini tidak akan menampilkan error
echo $undefinedVariable;
?>
register_globals = Off
Ini adalah fitur tua dan tidak aman. Itu sudah usang dan dihapus di PHP 5.4.0. Selalu matikan ini di versi yang lama.
magic_quotes_gpc = On
Pengaturan ini secara otomatis meng escap data masukan untuk menjadikannya aman dari SQL injection. Namun, itu sudah usang dan dihapus di PHP 5.4.0. Di PHP modern, Anda sebaiknya menggunakan pernyataan yang disiapkan.
file_uploads = [on/off]
Ini mengendalikan apakah pengunggahan file diijinkan.
<?php
if ($_FILES) {
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File valid, dan sukses diunggah.\n";
} else {
echo "Gagal mengunggah.\n";
}
}
?>
session.save-handler = files
Pengaturan ini menentukan bagaimana data sesi disimpan. Standar adalah 'files', yang berarti data sesi disimpan dalam file di server.
<?php
session_start();
$_SESSION['user'] = 'John Doe';
echo "Data sesi disimpan!";
?>
ignore_user_abort = [On/Off]
Ini menentukan apakah skrip harus terus berjalan setelah pengguna menutup koneksi.
<?php
ignore_user_abort(true);
set_time_limit(0);
// Skrip ini akan terus berjalan meskipun pengguna menutup browser
while (true) {
file_put_contents('log.txt', date('Y-m-d H:i:s') . "\n", FILE_APPEND);
sleep(1);
}
?>
Pengaturan MySQL
PHP.INI juga termasuk pengaturan untuk koneksi MySQL:
Pengaturan | Deskripsi | Contoh |
---|---|---|
mysql.default_host | Server MySQL default | mysql.default_host = localhost |
mysql.default_user | Username MySQL default | mysql.default_user = root |
mysql.default_password | Password MySQL default | mysql.default_password = password123 |
Ingat, biasanya lebih baik mengatur ini di dalam skrip Anda daripada di PHP.INI karena alasan keamanan.
<?php
$conn = mysqli_connect('localhost', 'root', 'password123');
if (!$conn) {
die("Gagal terhubung: " . mysqli_connect_error());
}
echo "Terhubung sukses";
?>
Dan begitu juga, teman-teman! Anda telah mengambil langkah pertama ke dunia konfigurasi PHP. Ingat, setiap pengaturan ini dapat mempengaruhi perilaku skrip PHP Anda, jadi gunakanlah mereka bijaksana. Sebagai Anda terus melanjutkan perjalanan PHP Anda, Anda akan menjadi lebih familiar dengan pengaturan ini dan bagaimana menggunakannya untuk keuntungan Anda.
Selamat coding, dan semoga skrip PHP Anda selalu berjalan mulus!
Credits: Image by storyset