RSS

Fatal error: Call-time pass-by-reference has been removed (SOLVED)

Biasanya kalau kita habis cari-cari open source PHP, terus kita coba instal sendiri di server lokal. Kadang nemuin Error seperti ini :

Fatal error: Call-time pass-by-reference has been removed


Kenapa begitu? Lagi-lagi karena perbedaan versi PHP yang digunakan. Source code PHP yang kita donlot adalah di bawah PHP Versi 5.x. Sedangkan PHP di server lokal kita udah versi 5.x ke atas. 

Klo diliat-liat ke belakang, error solved di blog ini rata-rata karena perbedaan versi ya.

SOLUSI

Cari baris kode yang kena error itu. 

Ganti inisiasi variabel 
&$ 
menjadi 
$

Contoh :

$this->html->errorMsgSet(&$msg);

ganti 

$this->html->errorMsgSet($msg);

Udah gitu ajah.

syntax error, unexpected 'List' (T_LIST)

Pernah mengalami Error seperti ini :

Message: syntax error, unexpected 'list' (T_LIST), expecting identifier (T_STRING)







padahal semua kode hasil copas yang ada dan berjalan dengan baik, tapi kenapa cuma method ini aja yang gagal?

SOLUSI 
Hal ini karena nama method yang kita buat adalah "list", solusinya sangat mudah ganti nama method itu. Misalkan jadi listQuestion, listUser, listDoc, etc. Kata "list" merupakan salah satu kata yang tidak boleh digunakan di PHP (reserved word) sebagai nama method.
Daftar reserved word dapat dilihat disini  https://www.php.net/manual/en/reserved.keywords.php

Github Connection Timed Out

Kalau kita menemui Error seperti ini saat mau Push source code ke github :
"ssh: connect to host github.com port 22: Connection timed out"

Hal ini berarti, koneksi SSH tidak dapat dilakukan pada jaringan internet yang sedang kita gunakan, karena ada firewakk jaringan yang memblok koneksi port 22 untuk SSH. Artinya kita harus mengganti jaringan internet yang memperbolehkan koneksi port 22 ini tetap berjalan.

SOLUSI 

1. Ganti jaringan internet. Biasanya menggunakan akses point dari HP kita masing-masing bisa.
2. Ganti metode SSH menjadi HTTPS untuk push source code.

CONTOH
sumberhttps://gist.github.com/Tamal/1cc77f88ef3e900aeae65f0e5e504794

$ git clone git@github.com:xxxxx/xxxx.git my-awesome-proj
Cloning into 'my-awesome-proj'...
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.


$ # This should also timeout
$ ssh -T git@github.com
ssh: connect to host github.com port 22: Connection timed out


$ # but this might work
$ ssh -T -p 443 git@ssh.github.com
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.
$ # Override SSH settings
$ vim ~/.ssh/config
```
# Add section below to it
Host github.com
  Hostname ssh.github.com
  Port 443
```
$ ssh -T git@github.com
Hi xxxxx! You've successfully authenticated, but GitHub does not
provide shell access.


$ git clone git@github.com:xxxxxx/xxxxx.git my-awesome-proj
Cloning into 'my-awesome-proj'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0

Receiving objects: 100% (15/15), 22.90 KiB | 4.58 MiB/s, done.


QED.

IOS Simulator tidak berjalan di Xamarin

Permasalahan yang terjadi ketika menggunakan Xamarin di Mac, dan versi Mac lebih rendah dibandingkan versi XCode. Sehingga muncul pesan

"Error MT0091: This version of Xamarin.iOS requires the iOS 11.2 SDK (shipped with Xcode 9.2). Either upgrade Xcode to get the required header files or set the managed linker behaviour to Link Framework SDKs Only (to try to avoid the new APIs)", seperti pada gambar ini










SOLUSI

  1. Upgrade XCode dengan versi terbaru.
  2. Klik kanan pada Project --> Option --> Build --> iOS Build --> Link Behaviour, isi dengan Link Framework SDKs Only.


Masalah Session di PHP

Masalah klasik tentang session di PHP.
Pesan Error yang diterima seperti ini :

Notice: A session had already been started - ignoring session_start()

cara mudahnya untuk menghilangkan error itu adalah jangan tulis begini

session_start(); 
tapi lebih baik begini

<?php
    if(!isset($_SESSION)) 
    { 
        session_start(); 
    } 
?>
Done.