Saturday, December 29, 2012

Syntax php error di XAMPP 1.7.7

Tags

Bagi web developer siapa yang tidak kenal XAMPP. XAMPP merupakan paket server untuk kebutuhan web, di dalam XAMPP sudah terpaket apache2, PHP5, MySQL5, serta FileZilla.

Beberapa hari lalu saya dimintai tolong oleh seorang teman yang sedang mengerjakan web. menggunakan XAMPP versi 1.7.7 ternyata yang dia masalahkan adalah variabel, sepele memang tapi ada kendala.

Langsung saja pada pokok permasalahan

XAMPP 1.7.7 ada perubahan pada error reportingnya tidak seperti dengan versi sebelumnya. jika kalian pernah mainan VB pasti tau yang namanya option explicit secara default PHP dengan VB untuk masalah variabel memang tidak ada bedanya yakni tanpa harus mendeklarasikan maka otomatis jika ada variabel baru pasti akan dibentuk oleh sistem dan tidak akan mengakibatkan error kecuali jika VB menggunakan option explicit pasti harus mendeklarasikan variabel dahulu.

sekarang sebagai contoh saja tanpa basa-basi silahkan coba install XAMPP 1.7.7 lalu edit saja bagian index.php menjadi:


  1. <?php  
  2.  if (!emptyempty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) {  
  3.   $uri = 'https://';  
  4.  } else {  
  5.   $uri = 'http://';  
  6.  }  
  7.  $uri .= $_SERVER['HTTP_HOST'];  
  8.  //header('Location: '.$uri.'/xampp/');  
  9.  //exit;  
  10. ?>  
  11. Something is wrong with the XAMPP installation   
  12.   
  13.   
  14. <?php  
  15. echo $text;  
  16. ?>  
pasti akan ada muncul error seperti berikut:
  1. Notice: Undefined variable: text in D:\xampp\htdocs\index.php on line 14  
ini diakibatkan karena adanya perubahan error reporting pada php.

Penjelasan:

variabel $text merupakan variabel baru yang belum di devinisikan. Pada versi XAMPP sebelumnya tidak akan memunculkan error, ini terjadi karena adanya perubahan pada file php. Sebenarnya ini tidak jadi masalah, tetapi mungkin bagi orang awam akan kebingungan yang tadinya tidak ada error tiba-tiba saat mengubah dengan XAMPP terbaru malah ada error.

saya akan tuntun untuk mengatasi hal seperti ini silahkan ikuti petunjuk yang saya berikan

buka file php.ini yang ada pada direktory xampp\php\php.ini
cari texterror_reporting = E_ALL | E_STRICTubah menjadierror_reporting = E_ALL | E_STRICT & ~E_NOTICEsecara default seharusnya adalah E_ALL & ~E_NOTICE tetapi boleh pilih yang mana saja.
restart apache dengan cara STOP-START
dengan begitu maka error variabel yang belum terdefinisi tidak akan muncul lagi.

Atau anda tidak ingin repot untuk mengurusi hal itu maka anda juga bisa menggunakan script php

  1. error_reporting(E_ALL & ~E_NOTICE); // default PHP  
  2. error_reporting(E_ERROR | E_PARSE | E_CORE_ERROR); // biasanya digunakan untuk menutup segala error yang berhubungan dengan database  


sumber :http://mytutorialswebsite.blogspot.com/2011/11/syntax-php-error-di-xampp-177.html