Error Pada PHP
Dalam pemrograman PHP
sering dijumpai error karena ada kesalahan pada salah satu proses. Seperti
misalnya sebuah programm untuk membuka file namun file yang dimaksud ternyata tidak ada maka
otomatis browser akan menampilkan error. Untuk itu perlu dibuat sebuah
penanganan error yang menghentikan program dan kemudian menampilkan pesan error
sesuai kondisi yang terjadi.
Penanganan di
PHP error default sangat sederhana. Pesan kesalahan dengan nama file, nomor
baris dan pesan yang menjelaskan kesalahan dikirim ke browser.
PHP Penanganan
Kesalahan
Ketika membuat skrip dan aplikasi web, penanganan kesalahan adalah bagian penting. Jika kode Anda tidak memiliki pengecekan error kode, program anda mungkin terlihat sangat tidak profesional dan Anda mungkin terbuka terhadap risiko keamanan.
Ketika membuat skrip dan aplikasi web, penanganan kesalahan adalah bagian penting. Jika kode Anda tidak memiliki pengecekan error kode, program anda mungkin terlihat sangat tidak profesional dan Anda mungkin terbuka terhadap risiko keamanan.
Tutorial
ini berisi beberapa metode pemeriksaan di PHP kesalahan yang paling umum.
Kami akan menunjukkan metode penanganan
kesalahan yang berbeda:
·
Simple “die
()” laporan
·
Kesalahan
kustom dan memicu kesalahan
·
kesalahan
pelaporan
Kesalahan
Dasar Penanganan: Menggunakan die ()
function
Contoh
pertama menunjukkan sebuah script sederhana yang membuka file teks:
<?php
$file=fopen(“welcome.txt”,”r”);
?>
$file=fopen(“welcome.txt”,”r”);
?>
Jika
file tidak ada Anda mungkin mendapatkan error seperti ini:
Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:
No such file or directory in C:\webfolder\test.php on line 2
No such file or directory in C:\webfolder\test.php on line 2
Untuk
mencegah pengguna dari mendapatkan pesan error seperti di atas, kita menguji
apakah file yang ada sebelum kita mencoba untuk mengaksesnya:
<?php
if(!file_exists(“welcome.txt”))
{
die(“File not found”);
}
else
{
$file=fopen(“welcome.txt”,”r”);
}
?>
if(!file_exists(“welcome.txt”))
{
die(“File not found”);
}
else
{
$file=fopen(“welcome.txt”,”r”);
}
?>
Sekarang
jika file tersebut tidak ada Anda mendapatkan error seperti ini:
File not found
Kode di
atas lebih efisien daripada kode sebelumnya, karena menggunakan mekanisme
penanganan kesalahan yang sederhana untuk menghentikan script setelah
kesalahan.
Namun,
hanya menghentikan script tidak selalu cara yang tepat untuk pergi. Mari kita
lihat fungsi PHP alternatif untuk penanganan kesalahan.
Membuat
Custom Kesalahan Handler
Membuat kustom penanganan error cukup sederhana. Kami hanya membuat fungsi khusus yang dapat dipanggil bila terjadi kesalahan dalam PHP.
Membuat kustom penanganan error cukup sederhana. Kami hanya membuat fungsi khusus yang dapat dipanggil bila terjadi kesalahan dalam PHP.
Fungsi
ini harus mampu menangani minimal dua parameter (tingkat kesalahan dan pesan
kesalahan), tetapi dapat menerima hingga lima parameter (opsional: File,
line-nomor, dan konteks error):
Syntax
error_function(error_level,error_message,
error_file,error_line,error_context)
error_file,error_line,error_context)
Parameter
Deskripsi
·
error_level
Diperlukan. Menentukan tingkat laporan kesalahan untuk kesalahan yang
ditetapkan pengguna. Harus menjadi nomor nilai. Lihat tabel di bawah untuk
kemungkinan tingkat laporan kesalahan
·
ERROR_MESSAGE
Diperlukan. Menentukan pesan kesalahan untuk kesalahan user-defined
·
error_file
Opsional. Menentukan nama file di mana kesalahan terjadi
·
error_line
Opsional. Menentukan nomor baris di mana kesalahan terjadi
·
error_context
Opsional. Menentukan array yang berisi setiap variabel, dan nilai-nilai mereka,
digunakan ketika kesalahan terjadi
Tabel Error
Report Level
Nilai
|
Konstan
|
Keterangan
|
2
|
E_WARNING
|
Run-time
error, tidak fatal. Pelaksanaan script tidak dihentikan
|
8
|
E_NOTICE
|
Run-time
pemberitahuan. Script menemukan sesuatu yang mungkin error, tetapi juga bisa
terjadi saat menjalankan script secara normal
|
256
|
E_USER_ERROR
|
User-generated
Fatal error. Ini seperti E_ERROR yang ditetapkan oleh programmer menggunakan
fungsi PHP trigger_error ()
|
512
|
E_USER_WARNING
|
User-generated
Warning, tidak fatal. Ini adalah seperti E_WARNING ditetapkan oleh programmer
menggunakan fungsi PHP trigger_error ()
|
1024
|
E_USER_NOTICE
|
User-generated-Notice.
Ini seperti E_NOTICE ditetapkan oleh programmer menggunakan fungsi PHP
trigger_error ()
|
4096
|
E_RECOVERABLE_ERROR
|
Catchable
fatal error. Ini seperti E_ERROR tetapi bisa ditangkap handler yang
dibuat pengguna
|
8191
|
E_ALL
|
Semua
Error dan Warning
|
Menangani error dengan
Custom Error Handler dan Trigger Error
Cara kedua
untuk menangani error pada PHP adalah dengan membuat fungsi Custom Error lalu
membuat Handler untuk menanganinya.
Cara membuat Custom
Error
Untuk membuat
custom error digunakan aturan penulisan berikut ini :
error_function(error_level,error_message,
error_file,error_line,error_context)
Keterangan parameter :
· error_level, wajib diisi. Merupakan level error untuk mendefinisikan
error pada pengguna. Harus berupa nomor yang mengacu pada tabel error dibawah.
· error_message, wajib diisi. Merupakan pesan error untuk
mendefinisikan error pada pengguna
· error_file, opsional. Merupakan nama file yang memunculkan error.
· error_line, opsional. Merupakan nomor baris yang memunculkan
error.
· error_context, opsional. Merupakan array yang berisi semua
variabel dan error yang dihasilkan pada saat error itu muncul.
Contoh Membuat Custom
Error :
function customError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr<br>";
echo "Akhir Script";
die();
}
Cara mengeset Error Handler
Untuk mengeset
Error Handler digunakan fungsi set_error_handler("Custom Error").
Contoh Script Custom Error dan Set Error Handler
Contoh Script Custom Error dan Set Error Handler
<?php
//membuat fungsi custom error
function customError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr";
}
//mengeset error handler
set_error_handler("customError");
//memicu terjadinya error
echo($test);
?>
Dan berikut
tampilan error yang dihasilkan oleh program diatas :
Error: [8] Undefined variable: test
Menangani Error dengan
sistem Reporting melalui Email
Cara ketiga
dalam menangani error adalah dengan melaporkan error tersebut. Dalam hal ini
error akan dikirimkan melalui email.
Contoh script membuat
error reporting melalui email:
<?php
//membuat custom error
function customError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr<br>";
echo "Webmaster telah diberi tahu";
error_log("Error: [$errno] $errstr",1,
"nama@website.com","From: admin@website.com");
}
//mengeset error handler
set_error_handler("customError",E_USER_WARNING);
//memicu terjadinya error
$test=2;
if ($test>1) {
trigger_error("Angka harus 1 atau lebih kecil",E_USER_WARNING);
}
?>
Tampilan pada browser
Error: [512] Angka harus 1 atau lebih kecil
Webmaster telah diberi tahu
Tampilan pesan yang
diterima email
Error: [512] Angka harus 1 atau lebih kecil
Bunyi Error:
1.Warning: mysql_fetch_array():
supplied argument is not
2.a valid MySQL result
resource in ....
atau
1.Warning: mysql_num_rows():
supplied argument is not
2.a valid MySQL result
resource in ...
Penyebab:
Error di atas disebabkan ada query SQL yang salah. Bisa jadi karena sintaks perintah query SQL nya salah, misalnya kurang tanda petik untuk menyatakan string dll. Selain itu bisa juga terjadi karena nama field dan tabel yang salah penulisannya.
Error di atas disebabkan ada query SQL yang salah. Bisa jadi karena sintaks perintah query SQL nya salah, misalnya kurang tanda petik untuk menyatakan string dll. Selain itu bisa juga terjadi karena nama field dan tabel yang salah penulisannya.
Solusi:
Coba cek kembali statement query SQL Anda. Pastikan tidak ada lagi kesalahan dalam penulisannya. Untuk proses debugging query SQL (mengetahui letak kesalahannya), Anda bisa menambahkan statement die(mysql_error()) pada perintah mysql_query()nya. Contoh:
Coba cek kembali statement query SQL Anda. Pastikan tidak ada lagi kesalahan dalam penulisannya. Untuk proses debugging query SQL (mengetahui letak kesalahannya), Anda bisa menambahkan statement die(mysql_error()) pada perintah mysql_query()nya. Contoh:
1.$query = ".....";
2.mysql_query($query) or die(mysql_error());
3..
4..
Bunyi Error:
1.Warning: session_start()
[function.session-start]:
2.Cannot send session
cookie - headers already sent by
3.(output started at
... ) in ... on line ...
atau
1.Warning:
session_start() [function.session-start]:
2.Cannot send session
cache limiter - headers already sent
3.(output started at
...) in ... on line ...
Penyebab:
Error di atas biasanya terjadi pada penggunaan session. Sewaktu memberikan perintah session_start(), terdapat baris perintah di atasnya yang menampilkan string atau kode html ke browser. Sebagai contoh, perhatikan script berikut ini:
Error di atas biasanya terjadi pada penggunaan session. Sewaktu memberikan perintah session_start(), terdapat baris perintah di atasnya yang menampilkan string atau kode html ke browser. Sebagai contoh, perhatikan script berikut ini:
1.<?php
2.echo "Hallo...";
3.session_start();
4.?>
atau
1.<html>
2.<head>
3.<title>....</title>
4.</head>
5.<?php
6.session_start();
7.?>
Bila Anda perhatikan script di atas, maka terdapat string yang
di-echo-kan atau terdapat kode html yang diletakkan sebelum session_start(). Nah… inilah
yang menyebabkan error. Selain contoh di atas, error juga bisa muncul dari
script yang berbentuk seperti ini
1.<?php
2.include "header.php";
3.session_start();
4.?>
Meskipun sebelum session_start() tidak ada echo atau kode html, namun error akan tetap muncul
apabila isi dari script header.php terdapat echo atau kode html juga, misalnya
header.php
1.<?php
2.echo "hallo";
3.?>
Solusi:
Pastikan sebelum perintah
Pastikan sebelum perintah
session_start() tidak
terdapat perintah echo atau kode html apapun.
Bunyi Error:
1.Warning: Cannot
modify header information – headers already sent by
2.(output started at
...) in ...
Penyebab:
Peringatan di atas biasanya muncul ketika Anda melakukan redirecting menggunakan perintah
Peringatan di atas biasanya muncul ketika Anda melakukan redirecting menggunakan perintah
1.header("Location:
...");
Seharusnya,
sebelum perintah header("Location:
...") tidak boleh ada string apapun yang ditampilkan
di browser, meskipun itu kode HTML (sama seperti penyebab error di session_start() sebelumnya).
Sebagai contoh perhatikan script berikut ini:
1.<?php
2.echo "<p>Hallo Apa
kabar?</p>";
3.header("Location:
test.php");
4.?>
Pada script di
atas, sebelum perintah header() terdapat string yang ditampilkan ke browser. Inilah yang
mengakibatkan muncul peringatan tsb. Lantas bagaimana dengan script berikut
ini?
1.<?php
2.$a = 10;
3.if ($a < 0) echo "Nilai A negatif";
4.else header("Location: test.php");
5.?>
Kira-kira
muncul Warning nya gak ya? Jika Anda coba, maka tidak muncul Warning nya
meskipun sebelum header() terdapat string yang ditampilkan ke browser. Mengapa demikian?
ya.. meskipun di situ terdapat perintah untuk menampilkan string ke browser,
namun perintah tersebut tidak pernah dijalankan karena nilai $a nya positif.
Solusi:
Pastikan sebelum perintah
Pastikan sebelum perintah
header("Location: ...") tidak
ada kode HTML atau perintah echo apapun. Jika Anda mengincludekan suatu script di
atas header("Location:
...")pastikan dalam script yang diincludekan tersebut tidak ada
kode HTML atau echo.
Bunyi Error:
1.Warning: mysql_connect() [function.mysql-connect]:
2.Access denied for user
‘root’@'localhost’ (using password: YES) in ...
Penyebab:
Error di atas disebabkan karena koneksi yang gagal ke MySQL. Penyebab gagalnya bisa jadi disebabkan nama user atau password yang salah.
Error di atas disebabkan karena koneksi yang gagal ke MySQL. Penyebab gagalnya bisa jadi disebabkan nama user atau password yang salah.
Solusi:
Pastikan username dan password koneksi ke MySQL Anda sudah benar ketika menggunakan perintah koneksi mysql_connect("namahost", "namauser", "passworduser");
Pastikan username dan password koneksi ke MySQL Anda sudah benar ketika menggunakan perintah koneksi mysql_connect("namahost", "namauser", "passworduser");
Bunyi Error:
1.Parse error: syntax error, unexpected T_STRING,
2.expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’
in ...
Penyebab:
Penyebab pastinya, saya kurang mengetahuinya. Namun biasanya ini terjadi karena penggunaan versi PHP yang rendah (versi di bawah PHP 5) untuk menjalankan script PHP yang menggunakan OOP.
Penyebab pastinya, saya kurang mengetahuinya. Namun biasanya ini terjadi karena penggunaan versi PHP yang rendah (versi di bawah PHP 5) untuk menjalankan script PHP yang menggunakan OOP.
Solusi:
Coba upgrade versi PHP Anda, atau gunakan PHP dengan versi yang lebih tinggi.
Coba upgrade versi PHP Anda, atau gunakan PHP dengan versi yang lebih tinggi.
Bunyi Error:
1.Parse error: syntax
error, unexpected T_ELSE in ...
Penyebab:
Error tersebut muncul sebagai akibat penulisan sintaks IF … ELSE yang tidak sesuai aturan. Perhatikan contoh penggunaan IF ELSE yang salah di bawah ini
Error tersebut muncul sebagai akibat penulisan sintaks IF … ELSE yang tidak sesuai aturan. Perhatikan contoh penggunaan IF ELSE yang salah di bawah ini
1.<?php
2.$a = 5;
3.if ($a > 0) $status = "A lebih besar dari 0"
4.else ($a < 0) $status = "A lebih kecil dari 0"
5.else $status = "A sama dengan 0"
6.?>
Contoh di atas terdapat kesalahan yaitu setiap akhir statement tidak
diberikan tanda titik koma (;), dan pada bagian else ($a < 0) kurang
IF, seharusnya
1.<?php
2.$a = 5;
3.if ($a > 0) $status = "A lebih besar dari 0";
4.else if ($a < 0) $status = "A lebih kecil dari 0";
5.else $status = "A sama dengan 0";
6.?>
Solusi:
Pastikan struktur statement yang Anda gunakan berbentuk seperti ini
Pastikan struktur statement yang Anda gunakan berbentuk seperti ini
1.<?php
2.if (syarat1) statement1;
3.else if (syarat2) statement2;
4.else if (syarat3) statement3;
5..
6..
7.else statementX;
8.?>
atau
01.<?php
02.if (syarat1)
03.{
04.statement;
05.statement;
06..
07..
08.}
09.else if (syarat2)
10.{
11.statement;
12.statement;
13..
14..
15.}
16..
17..
18.else
19.{
20.statement;
21.statement;
22..
23..
24.}
25.?>
Bunyi Error:
1.Fatal error: Call to
undefined function: ...
Penyebab:
Error tersebut disebabkan karena nama function yang digunakan tidak ada atau tidak dikenal oleh PHP. Jika function tersebut adalah built in function, misalnya str_split()bisa jadi hal ini disebabkan pada versi PHP yang digunakan belum ada function tersebut. Jika function tersebut adalah function buatan sendiri, bisa jadi anda lupa menyisipkan ke dalam script atau meng-include-kannya.
Error tersebut disebabkan karena nama function yang digunakan tidak ada atau tidak dikenal oleh PHP. Jika function tersebut adalah built in function, misalnya str_split()bisa jadi hal ini disebabkan pada versi PHP yang digunakan belum ada function tersebut. Jika function tersebut adalah function buatan sendiri, bisa jadi anda lupa menyisipkan ke dalam script atau meng-include-kannya.
Solusi:
Jika function yang tidak dikenal adalah built in function, maka lakukan upgrade versi PHP yang lebih tinggi. Sedangkan jika function yang tidak dikenal adalah buatan sendiri, pastikan Anda sudah meng-includekan di dalam scriptnya sehingga bisa dikenal. Contohnya:
Jika function yang tidak dikenal adalah built in function, maka lakukan upgrade versi PHP yang lebih tinggi. Sedangkan jika function yang tidak dikenal adalah buatan sendiri, pastikan Anda sudah meng-includekan di dalam scriptnya sehingga bisa dikenal. Contohnya:
function.php
1.<?php
2.function jumlah($a, $b)
3.{
4.return $a + $b;
5.}
6.?>
script.php
1.<?php
2.include "function.php";
3.echo jumlah(9, 10); // akan
menghasilkan 19
4.?>
atau
script.php
1.<?php
2.function jumlah($a, $b)
3.{
4.return $a + $b;
5.}
6.
7.echo jumlah(9, 10); // akan
menghasilkan 19
8.?>
Bunyi Error:
1.Parse error: parse error,
unexpected $end
Penyebab:
Error di atas disebabkan karena kurangnya tanda penutup kurung kurawal. Contohnya:
Error di atas disebabkan karena kurangnya tanda penutup kurung kurawal. Contohnya:
1.<?php
2.if ($a > 1)
3.{
4.echo "Nilai A lebih dari 1";
5.?>
atau
1.<?php
2.while ($a > 1)
3.{
4..
5..
6..
7.?>
Selain itu,
bisa pula error tersebut disebabkan karena efek perbedaan penggunaan tanda
pembuka PHP <?php dan <?. Contohnya
01.<?php
02.if (syarat)
03.{
04.statement1;
05.statement2;
06.?>
07.
08.<?
09.statement3;
10.statement4;
11.}
12.?>
Perhatikan
contoh script di atas, bahwa pada blok statement IF oleh si programmer dipecah
menjadi 2 blok, namun perhatikan bahwa untuk blok kedua, tanda pembukanya
menggunakan <? saja. Nah... terkadang suatu server hanya membolehkan tanda
pembuka script PHP menggunakan <?php, sehingga untuk blok kedua tidak dianggap sebagai script, dan..
akibatnya statement IF nya dianggap tidak ada tanda } penutup.
Solusi:
Pastikan tanda kurung kurawal penutup tidak lupa menuliskannya. Jika ternyata kasus yang Anda hadapi sama seperti contoh kasus terakhir (perbedaan tanda pembuka script PHP), konsistenkan penulisan tanda pembukanya menggunakan <?php supaya aman.
Pastikan tanda kurung kurawal penutup tidak lupa menuliskannya. Jika ternyata kasus yang Anda hadapi sama seperti contoh kasus terakhir (perbedaan tanda pembuka script PHP), konsistenkan penulisan tanda pembukanya menggunakan <?php supaya aman.
Bunyi Error:
1.Parse error: syntax
error, unexpected T_STRING
Penyebab:
Error tersebut disebabkan karena penggunaan tanda petik (double quote atau single quote) yang tidak tepat untuk menyatakan suatu string. Sebuah string harus diapit oleh dua buah tanda petik. Sebagai contoh:
Error tersebut disebabkan karena penggunaan tanda petik (double quote atau single quote) yang tidak tepat untuk menyatakan suatu string. Sebuah string harus diapit oleh dua buah tanda petik. Sebagai contoh:
1.<?php
2.$a = "ini sebuah string";
3.?>
atau
1.<?php
2.$a = 'ini sebuah string';
3.?>
Namun... jika
dalam string tersebut terdapat tanda petik lagi, misalkan
1.<?php
2.$a = "ini sebuah " string";
3.?>
atau
1.<?php
2.$a = 'ini sebuah ' string';
3.?>
maka akan
terdapat error di atas. Hal yang sama jika Anda menggunakan single quote (tanda
petik tunggal).
Solusi:
Pastikan di dalam sebuah string, anda mengapitnya dengan hanya 2 buah tanda petik saja. Jika Anda bermaksud menyisipkan tanda petik dalam sebuah string, gunakan tanda \" atau \', contoh
Pastikan di dalam sebuah string, anda mengapitnya dengan hanya 2 buah tanda petik saja. Jika Anda bermaksud menyisipkan tanda petik dalam sebuah string, gunakan tanda \" atau \', contoh
1.<?php
2.$a = "ini sebuah \"
string";
3.?>
atau
1.<?php
2.$a = 'ini sebuah \' string';
3.?>
Bunyi Error:
1.Notice: Undefined index:
...
atau
1.Notice: Undefined variable:
...
Penyebab:
Sebenarnya itu bukan error, namun sekedar peringatan saja bahwa ada variabel atau index array yang belum terdefinisi sebelumnya. Di beberapa versi PHP peringatan tersebut muncul, namun di versi yang lain tidak muncul. Berikut ini contohnya:
Sebenarnya itu bukan error, namun sekedar peringatan saja bahwa ada variabel atau index array yang belum terdefinisi sebelumnya. Di beberapa versi PHP peringatan tersebut muncul, namun di versi yang lain tidak muncul. Berikut ini contohnya:
1.<?php
2.if ($a > 0)
3.{
4.....
5.}
6.?>
Jika kita
perhatikan script di atas, variabel $a langsung diberikan statement pengecekan IF,
padahal nilai $a ini tidak ada sebelumnya. Nah... di beberapa versi PHP, akan
muncul peringatan
1.Notice: Undefined
variable: a
Namun, bila
nilai $a ini sudah
didefinisikan sebelumnya misalnya
1.<?php
2.$a = 10;
3.if ($a > 0)
4.{
5.....
6.}
7.?>
maka peringatan
di atas tidak akan muncul lagi. Peringatan yang hampir sama juga bisa muncul
untuk contoh berikut ini
1.<?php
2.if ($_GET['test'] == 0)
3.{
4.....
5.}
6.?>
yang
dikarenakan nilai $_GET['test'] belum terdefinisi sebelumnya atau belum ada nilainya (belum ada
request GET untuk parameter 'test').
Solusi:
Sebenarnya peringatan di atas bisa saja diabaikan karena tidak berpengaruh pada kinerja script atau proses yang terjadi di dalamnya. Namun, jika Anda ingin menghilangkan peringatan tersebut caranya adalah dengan memodifikasi parameter
Sebenarnya peringatan di atas bisa saja diabaikan karena tidak berpengaruh pada kinerja script atau proses yang terjadi di dalamnya. Namun, jika Anda ingin menghilangkan peringatan tersebut caranya adalah dengan memodifikasi parameter
1.error_reporting = ...
pada file
konfigurasi php.ini
Tambahkanlah
nilai "&
~E_NOTICE" pada nilai parameternya, contoh:
1.error_reporting = E_ALL & ~E_NOTICE
Maksud dari
parameter di atas adalah, PHP akan menampilkan bunyi error kecuali NOTICE. Jika
sudah, silakan merestart Apache nya.
Bunyi Error:
1.Fatal error: Maximum
execution time of ... seconds exceeded in ...
Penyebab:
Error di atas disebabkan karena lama eksekusi sebuah script PHP telah mencapai batas maksimumnya. Jika Anda menggunakan AppServ atau XAMPP, default maximum execution time nya diset 30 detik. Jika lama eksekusi script yang Anda buat melebihi 30 detik, maka akan muncul error di atas.
Error di atas disebabkan karena lama eksekusi sebuah script PHP telah mencapai batas maksimumnya. Jika Anda menggunakan AppServ atau XAMPP, default maximum execution time nya diset 30 detik. Jika lama eksekusi script yang Anda buat melebihi 30 detik, maka akan muncul error di atas.
Solusi:
Anda dapat meningkatkan atau menambah max execution time pada file php.ini, dengan cara carilah parameter
Anda dapat meningkatkan atau menambah max execution time pada file php.ini, dengan cara carilah parameter
1.max_execution_time =
...
Tambahlah
nilainya, misalnya menjadi 9999 detik, sehingga nilai parameternya menjadi
1.max_execution_time =
9999
Selanjutnya,
simpan kembali php.ini nya, lalu restart Apachenya.
Kalau perlu, lakukan analisis algoritma pada script Anda apabila dirasa tidak efisien sehingga mengakibatkan running time yang lama.
Kalau perlu, lakukan analisis algoritma pada script Anda apabila dirasa tidak efisien sehingga mengakibatkan running time yang lama.
Bunyi Error:
Bukan Error sih, tapi kegagalan dalam proses upload file ketika Anda membuat script upload file.
Bukan Error sih, tapi kegagalan dalam proses upload file ketika Anda membuat script upload file.
Penyebab:
Kegagalan dalam proses upload file itu disebabkan oleh ukuran file yang terlalu besar melebihi batas maksimum yang diperbolehkan oleh PHP sesuai di file php.ini.
Kegagalan dalam proses upload file itu disebabkan oleh ukuran file yang terlalu besar melebihi batas maksimum yang diperbolehkan oleh PHP sesuai di file php.ini.
Solusi:
Anda dapat mengubah batas maksimum file size untuk upload ini dengan mengubah parameter
Anda dapat mengubah batas maksimum file size untuk upload ini dengan mengubah parameter
1.upload_max_filesize
= ...
dan
1.post_max_size = ...
pada file
php.ini
Berikut ini
contoh pengubahan batas maksimum upload file hingga 80 Mb.
1.upload_max_filesize
= 80M
dan
1.post_max_size = 80M
Jika sudah
melakukan pengubahan, lakukan restart Apache nya. Oya, jangan lupa pula untuk
menambah komponen input pada form upload
nya.
1.<input type="hidden" name="MAX_FILE_SIZE" value="80000000" />
Solusi di atas hanya akan bisa menyelesaikan permasalahan upload jika
file diupload ke folder atau direktori tertentu yang ada di server.
OK..
mudah-mudahan artikel di atas bisa bermanfaat bagi Anda yang ingin belajar PHP,
namun terkendala beberapa macam error yang belum tahu penyebabnya dan solusinya.

Tidak ada komentar:
Posting Komentar