[Ubuntu] Cara Upgrade Versi PHP ke 5.6 di Ubuntu 14.04

  1. Tambahkan repository dan update
  2. sudo add-apt-repository ppa:ondrej/php

  3. sudo apt-get update

  4. Install PHP 5.6
  5. sudo apt-get install -y php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-mysql php5.6-gd php5.6-intl php5.6-xsl php5.6-zip libapache2-mod-php5.6

  6. Matikan module php sebelumnya
  7. sudo a2dismod php5

  8. Aktifkan module php module versi sekarang
  9. sudo a2enmod php5.6

  10. Restart service apache
  11. sudo service apache restart

Referensi :

https://stackoverflow.com/questions/40567133/cannot-add-ppa-ppaondrej-php5-5-6

Kelebihan dan Kekurangan Laravel

Laravel - Mahrizal

Laravel

 

Kelebihan dan kekurangan Laravel

Temen2 yang ingin belajar framework PHP maka Framework ini layak untuk dipelajari dan digunakan.

Framework ini langsung populer begitu framework Codeigniter colaps waktu itu.

Meski sekarang Codeigniter diteruskan kembali oleh suatu universitas namun kabar Codeigniter yang tidak disupport oleh EllisLab lagi membuat para programmer mencari Framework alternatif, diantaranya Laravel.

Laravel dari segi kesulitan memang sedang namun menjanjikan fitur yang powerful. Kesulitan dalam arti pintu gerbang untuk memahami pertama kali. namun jika sudah paham maka justru malah memudahkan bahkan rasanya tidak mau kembali lagi ke Codeigniter, karena lebih efisien dalam pembuatannya.

Kelebihan Laravel

  1. Dokumentasi yang lengkap

 

Laravel mempunyai dokumentasi yang lengkap dari mulai install sampai fitur2 yang lengkap.

 

Di dokumentasinya kita bisa membaca uraian fitur2nya dengan detail beserta contoh penggunaannya.

 

Kita bisa mengakses dokumentasi yang lengkap di website nya : https://laravel.com/docs/5.5

Dokumentasi laravel tidak hanya berupa teks tapi juga berupa tutorial video yang bisa diakses di Laracast. https://laracasts.com/

Laracast menyediakan video-video tutorial, ada yang gratis ada pula yang berbayar.

 

  1. Komunitas yang besar

Laravel mempunyai komunitas yang besar sehingga saat kita mendapatkan kendala kita bisa bertanya ke komunitas.

Ada forum laravel yang membahas problem-problem laravel di https://laravel.io/forum

Aktifnya diskusi di forum laravel menunjukkan besarnya komunitas laravel.

Termasuk di stackoverflow tempat bertanya segala permasalahan programming, banyak ditemui permasalahan tentang laravel dan banyak pula yang menjawab.

  1. Fitur Yang membuat efisien

Laravel menyediakan fitur yang membuat pembuatan aplikasi menjadi lebih efisien yang tidak didapati oleh Codeigniter. Contohnya adalah Eloquent ORM. Laravel mendukung Eloquent ORM yang memudahkan query database bahkan join table.

  1. Cara Install Yang Modern

Install Laravel ialah menggunakan Composer.

composer create-project –prefer-dist laravel/laravel blog

Apa itu composer?

Composer menurut web nya ialah dependency manager for php.

Bahasa mudahnya composer adalah tool yang berfungsi untuk mendownload software untuk keperluan php.

Layaknya npm yang dimiliki nodejs.

Bila belum mempunyai composer maka download terlebih dahulu di situs  : https://getcomposer.org/

  1. Fitur yang Wah

Laravel ialah framework yang powerful sehingga menyediakan fitur-fitur yang wah dan lengkap.

Kita akan belajar hal-hal baru yang tidak ada di Codeigniter.

Bagi yang migrasi dari Codeigniter bisa dipastikan akan ternganga dengan wah nya fitur Laravel.

 

Kekurangan Laravel

 

Kurang lengkap kiranya jika saya tidak menyertakan kekurangan Laravel sebagaimana setiap sesuau, setiap kelebihan selalu ada kekurangan.

Kekurangannya ialah :

  1. Tidak Mudah memahami untuk pertama kali

Buat para beginner yang memahami laravel relatif akan kesulitan. sebab laravel tidak semudah codeigniter untuk dipahami. untuk masuk ke pintu gerbang nya diperlukan fokus agar bisa memahami laravel. Terlebih buat yang baru belajar Framework. Akan terbantu bila pernah belajar Framework sebelumnya seperti Codeigniter.

jangankan untuk memahami alurnya, untuk install pertama kali pun kalau para beginner bisa dibuat bingung. karena cara install yang modern

  1. Update versi terlalu cepat

Update Laravel cepat bahkan menurut saya terlalu cepat. Sehingga bagi yang tidak mengikuti perkembangan laravel bisa ketinggalan jauh. Dan perubahan fitur nya pun terbilang signifikan.

Terlebih yang dari versi 4 ke versi 5, sangat signifikan perubahannya baik fitur maupun struktur folder nya.

Versi 5 pun cepat update versinya, sekarang saat saya menulis ini sudah sampai versi 5.5

  1. Install di Server tidak semudah Codeigniter

Bila Install codeigniter di ftp tinggal upload dan ubah konfigurasi database, maka install Laravel tidak semudah itu.

Apabila kita sewa hosting di tempat lain, kita harus punya akses putty ke server agar bisa install composer.

Untuk apa composer? Untuk kita menjalankan perintah

composer update

Kenapa kita jalankan perintah itu, karena beda lingkungan OS beda sistem laravel.

Laravel di windows beda dengan Laravel di Linux

untuk itu jika kita membuat aplikasi di windows maka saat di upload di server Linux kita perlu jalankan perintah composer update di root aplikasi agar laravel bisa menyesuaikan lingkungan OS yang baru.

  1. Relatif lebih berat

Laravel relatif lebih berat bila dibanding dengan framework Codeigniter.

Hal ini wajar karena laravel meload banyak file dan asset untuk menjalankan aplikasinya.

Tapi hal ini sudah ditanggulangi oleh Laravel 5 yang sudah menyederhanakan dari laravel versi 4 yang berat.

CodeIgniter HMVC – Memperbaiki Error Message: Call to undefined method MY_Loader::_ci_object_to_array()

Untuk memperbaiki Error di atas maka :

  1. Buka application/third_party/MX/Loader.php
  2. Cari function  public function view($view, $vars = array(), $return = FALSE) Cari… (Line 300)

return $this->_ci_load(array(‘_ci_view’ => $view, ‘_ci_vars’ => $this->_ci_object_to_array($vars), ‘_ci_return’ => $return));

Ganti dengan :

if (method_exists($this, ‘_ci_object_to_array’))
{
return $this->_ci_load(array(‘_ci_view’ => $view, ‘_ci_vars’ => $this->_ci_object_to_array($vars), ‘_ci_return’ => $return));
} else {
return $this->_ci_load(array(‘_ci_view’ => $view, ‘_ci_vars’ => $this->_ci_prepare_view_vars($vars), ‘_ci_return’ => $return));
}

Selesai…

 

Referensi : http://stackoverflow.com/questions/41557760/codeigniter-hmvc-object-to-array-error

Laravel Error : ErrorException in Filesystem.php : file_put_contents failed to open stream: Permission denied

Saya mendapatkan error di atas saat saya upload aplikasi Laravel saya dari local windows ke server Ubuntu.

Bagaimana Solusinya :

Masuk ke directory root aplikasi kita, kemudian jalankan perintah ini di terminal :

chmod -R gu+w storage

chmod -R guo+w storage

php artisan cache:clear

Done….

It works for me…..

Aplikasi saya bisa berjalan dengan baik….

Referensi : http://stackoverflow.com/questions/29169892/errorexception-in-filesystem-php

Laravel : Mengatasi Error FatalErrorException in Collection.php line 11: Interface ‘Illuminate\Contracts\Queue\QueueableCollection’ not found

Hari ini saya mendapat error di sistem saya yang memakai laravel, errornya ialah :

FatalErrorException in Collection.php line 11: Interface ‘Illuminate\Contracts\Queue\QueueableCollection’ not found

Akhirnya saya nemu solusinya di stackoverflow, yaitu dengan download file  QueueableCollection.php di link :

https://github.com/illuminate/contracts/blob/master/Queue/QueueableCollection.php

Saya tadi buat file dan copas…jreng..selesai….masalah solved.

Referensi :

http://stackoverflow.com/questions/37695774/laravelfatalerrorexception-in-collection-php-line-11-interface-illuminate-con

http://stackoverflow.com/questions/37695774/laravelfatalerrorexception-in-collection-php-line-11-interface-illuminate-con

 

PHP – Cara Menghilangkan %20 di URL Menjadi Spasi

Untuk menghilangkan %20 di url menjadi spasi di PHP menggunakan syntax rawurldecode, bila diterapkan di codeigniter :

$string_url = $this->uri->segment(3);

echo rawurldecode($string_url);

Bisa juga memakai

urldecode($string_url);

Awalnya saya menggunakan trik preg_replace :

$string_url = $this->uri->segment(3);

echo preg_replace(‘/%20/’, ‘ ‘, $string_url);

keduanya bisa digunakan , hanya saja cara pertama lebih efisien karena fungsi built in php dan cara kedua adalah trik karena belum ketemu yang pertama

sumber  :

http://php.net/manual/en/function.urldecode.php

http://php.net/manual/ro/function.rawurldecode.php

http://php.net/manual/ro/function.preg-replace.php

Menghitung Selisih Bulan Antar Dua Tanggal Dalam PHP

Menghitung selisih bulan antar dua tanggal bisa memakai fungsi berikut :

public  function diffInMonths(\DateTime $date1, \DateTime $date2)
{
$diff =  $date1->diff($date2);

$months = $diff->y * 12 + $diff->m + $diff->d / 30;

return (int) round($months);
}

Adapun cara memakainya tinggal dipanggil functionnya

$start = create_date(‘2015-01-01’);

$end =  create_date(‘2015-06-30’);

echo $this->diffInMonths($start, $end);

fungsi di atas akan menghasilkan nilai 6  , maksudnya 6 bulan

fungsi di atas cukup membantu, setelah tanggal 15 maka akan dihitung satu bulan , jika di bawah 15 maka tidak dihitung , contoh di atas, jika

$end =  create_date(‘2015-06-16’);

maka akan menghasilkan 6  bulan

tapi jika

$end =  create_date(‘2015-06-14’);

maka akan dihitung 5 bulan

sumber :

http://stackoverflow.com/questions/2681548/find-month-difference-in-php

http://www.w3schools.com/php/func_date_date_diff.asp

Menangani Error Notepad++ : Please check whether if this file is opened in another program

Tadi sewaktu edit file php di notepad++ dan mau menyimpan eh keluar error :

 Please check whether if this file is opened in another program

Setelah browsing ketemu dah di stackoverflow , caranya yaitu :

Cukup ubah permission di folder dan subfolder nya

Sumber :

http://stackoverflow.com/questions/2763067/unable-to-edit-and-save-a-file-on-remote-machine-using-notepad

PHP – Cara Mendapatkan Jumlah Minggu Dalam Setahun

Untuk mengetahui berapa sih jumlah minggu atau pekan dalam setahun dalam php memakai  syntax :

idate('W', mktime(0, 0, 0, 12, 27, $year))

Adapun variable $year bisa diganti dengan tahun yang kita inginkan misal tahun sekarang

$year  = date(‘Y’);

echo idate('W', mktime(0, 0, 0, 12, 27, $year));

sumber :http://weeknumber.net/how-to/php

Fungsi PHP menentukan minggu ke berapa hari ini dalam bulan ini

Karena ngerjain project yang ada minggu nya, saya membuat function untuk menentukan minggu keberapa sih hari ini

Berikut function yang saya buat :

function week_of_today()
{

$month = date(‘m’);
$month = str_pad($month,2,’0′,STR_PAD_LEFT);
$today = date(‘Y-m-d’);

$minggu = 0;
$week_end = 0;

$last_date =  last_date_ofthe_month();

for($i = 1; $i<=$last_date; $i++)
{
$i = str_pad($i,2,’0′,STR_PAD_LEFT);
$date =  date(“Y-{$month}-{$i}”);
$day  =  date(‘D’, strtotime($date));

if($day == ‘Sat’)
{
$minggu = $minggu + 1;
}
if($date == $today)
{
$minggu = $minggu + 1;
break;

}
}
return $minggu;

}

function last_date_ofthe_month($month=”, $year=”)
{
if(!$year)   $year   = date(‘Y’);
if(!$month)  $month  = date(‘m’);
$date = $year.’-‘.$month.’-01′;

$next_month = strtotime(‘+ 1 month’, strtotime($date));

$last_date  = date(“d”, strtotime(“-1 minutes”,  $next_month));
return $last_date;

}

CodeIgniter Error : Only variable references should be returned by reference

Setelah Install php terbaru versi 5.6.5  saya menjalankan aplikasi php saya ada error :

A PHP  Error Was Encountered

Severity : Notice

Message : Only variable references should be returned by reference

Filename : Core/Common.php

Line Number : 257

Padahal sebelumnya tidak ada error

Setelah browsing2 akhirnya saya ubah kodenya :

dari :

return $_config[0] =& $config;

Menjadi :

return $config;

Dan Alhamdulillah berjalan normal seperti biasa tanpa error ….

Referensi :

http://indrayn.com/codeigniter-message-only-variable-references-should-be-returned-by-reference/

Memperoleh Mac Address Ubuntu dari PHP

Untuk memperoleh deskripsi ifonfig dari php bisa memakai script berikut :

<?php
exec(“/sbin/ifconfig”, $output);
print_r( $output);
?>

sedangkan hanya untuk memperoleh mac address maka seperti ini  :

<?php
exec(“/sbin/ifconfig | grep HWaddr”, $output);
print_r( $output);
?>

sumber :

http://www.experts-exchange.com/Programming/Languages/Scripting/PHP/Q_28139225.html

Cara Mendapatkan Mac Address Menggunakan PHP

Untuk mendapatkan informasi mac address kita menggunakan PHP :

<?php
// Turn on output buffering
ob_start();

//Get the ipconfig details using system commond
system(‘ipconfig /all’);

// Capture the output into a variable
$mycom=ob_get_contents();

// Clean (erase) the output buffer
ob_clean();

$findme = “Wireless LAN adapter WiFi”;
//Search the “Physical” | Find the position of Physical text
$pmac = strpos($mycom, $findme);

// Get Physical Address
$mac = substr($mycom,($pmac+202),17);

//Display Mac Address
echo $mac;

?>

Code di atas menggunakan cara menampilkan hasil dari ipconfig /all bila kita ketikkan di cmd, nah hasilnya kita ambil pakai buffering. nah setelah dapat kita ambil deh pakai metode strpos dan substr.

sumber : http://www.webinfopedia.com/php-get-system-mac-address.html