[PHPBREW] Fatal error: Uncaught mysqli_sql_exception: No such file or directory

Secara misteri MySQL saya tidak mahu berfungsi di dalam PHPBrew, tetapi berfungsi secara normal di dalam PHP yang saya pasang melalui repository Ubuntu. Bagi yang tidak tahu, PHPBrew adalah alat untuk membina PHP ke dalam home directory.

Kod yang saya miliki adalah seperti berikut

$db = new mysqli("localhost", "user", "pass", "db"); 
if($db->;connect_errno > 0){ 
  die('Unable to connect to database [' . $db->connect_error . ']'); 
} 

DanĀ error yang saya perolehi daripada baris 1 adalah

Fatal error: Uncaught mysqli_sql_exception: No such file or directory

Penyelesaiannya agak mudah. Dalam kod di atas, saya menggunakan “localhost”. Entah atas apa sebab, saya perlu menggunakan “127.0.0.1”.

$db = new mysqli("127.0.0.1", "user", "pass", "db"); 
if($db->;connect_errno > 0){
  die('Unable to connect to database [' . $db->connect_error . ']'); 
}

Unable to start hunspell spell checker – make sure hunspell is installed!

Semasa cuba membaca sarikata PGS untuk ditukarkan ke SRt menggunakan Subtitle Edit di dal Ubuntu, saya menghadapi masalah apabila Subtitle Edit memberikan ralat:

Unable to start hunspell spell checker - make sure hunspell is installed!

Untuk selesaikan masalah ini, anda perlu pastikan Subtitle Edit ditutup. Kemudian pasang libhunspell-dev.

$ sudo apt install libhunspell-dev

Dan Subtitle Edit boleh dibuka kembali dan digunakan.

The following packages have unmet dependencies: winehq-stable : Depends: wine-stable

Semasa saya mahu memasang Wine pada Ubuntu 18.04, saya mendapat satu masalah dependencies.

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 winehq-stable : Depends: wine-stable (= 3.0.3~bionic)
E: Unable to correct problems, you have held broken packages.

Setelah saya selidik, penyelesaiannya adalah memasang libasound2-plugins:i386

$ sudo apt install libasound2-plugins:i386

Kemudian pasang Wine seperti biasa

$ sudo apt-get install --install-recommends winehq-stable

ModuleNotFoundError: No module named ‘_lzma’

Saya mempunyai masalah menjalankan Instaloader di mana terdapat modul yang diperlukan, tidak wujud.

ModuleNotFoundError: No module named '_lzma'

Saya menggunakan Python 3.7.1 yang dibina daripada sumber kod (source code). Jadi penyelesaiannya mungkin berbeza sekiranya anda memasang dari pengurus pakej (package manager)

Untuk menyelesaikan masalah ini, anda perlu memasang liblzma-dev

$ sudo apt install liblzma-dev

Lalu bina semua Python anda seperti biasa.
Dalam kes saya,

$ ./configure -enable-optimizations
$ make -j 4
$ sudo make install

fatal: unable to connect to cache daemon: Permission denied

Saya mempunyai masalah untuk caching nama dan kata laluan git menggunakan $ git config --global credential.helper cache.

Saya mendapat ralat ini semasa cuba push kod ke GitLab.

fatal: unable to connect to cache daemon: Permission denied

Penyelesaiannya adalah dengan membetulkan keizinan (permission).

$ sudo chown -R ~/.git-credential-cache/

[Javascript] Uncaught TypeError: $.ajax is not a function

Saya mendapat ralat ini apabila cuba menggunakan ajax.

Uncaught TypeError: $.ajax is not a function
    at HTMLButtonElement. ((index):40)
    at HTMLButtonElement.dispatch (jquery-3.3.1.slim.min.js:2)
    at HTMLButtonElement.v.handle (jquery-3.3.1.slim.min.js:2)

Kod yang saya gunakan adalah seperti berikut

$.ajax({
  type: "POST",
  url: "process.php",
  data: {urls:urls},
  dataType: "json",
  success: function(data){
    alert("success");
  }
});

Masalah ini berpunca daripada versi jQuery yang saya gunakan. Saya menggunakan versi slim di mana fungsi ajax telah dibuang.
Penyelesaiannya adalah menggunakan versi full.

[NginX] Redirect subfolder ke subdomain

Ada masa di mana anda mahu menggunakan subdomain kerana lebih kemas dan mudah berbanding subfolder. Oleh sebab ramai pengguna sudah terbiasa mengakses subfolder tersebut, anda mengalami kesulitan untuk memindahkan mereka ke subdomain.

Dalam contoh ini, saya akan memindahkan subfokder admin ke subdomain admin.example.com. Di dalam konfigurasi NginX anda, tambahkan

location ^~ /admin/ {
    rewrite ^/admin/(.*) $scheme://admin.example.com/$1 permanent;
}

Uncaught TypeError: Cannot read property ‘fn’ of undefined

Semasa saya migrasi dari bootstrap 3 ke 4, saya mempunya ralat yang pelik di dalam konsol log Chrome.

Uncaught TypeError: Cannot read property 'fn' of undefined
    at util.js:56
    at util.js:10
    at bootstrap.min.js:6
    at bootstrap.min.js:6

Sekiranya anda mendapat ralat ini, kemungkin anda memuat bootstrap terlebih dahulu dan jQuery kemudian.

Punca ralat

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Penyesaiannya adalah dengan memuat jQuery terlebih dahulu

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

Cara bermain Fortnite pada Android yang telah dipasang Magisk

Fortnite telah dibuka kepada umum, tetapi hanya terhad kepada peranti tertentu. Di sini saya akan berkongsi cara bermain pada peranti yang belum disokong, dan bagaimana cara melepasi pengesan root.

Versi pendek:

  1. Sekiranya peranti tidak disokong, ubah build.prop agar Fortnite mengesan peranti anda sebagai salah satu peranti yang di sokong.
  2. Hide Fortnite di dalam Magisk Manager di dalam /sdcard.
  3. Aktifkan Hide Magisk Manager.
  4. Aktifkan Magisk Core Only Mode
  5. Padam folder MagiskManager.
  6. But semula (reboot)

Fortnite menyokong beberapa peranti yang disenaraikan di sini. Pada masa artikel ini ditulis, senarai peranti yang disokong adalah

  • Samsung Galaxy: S7 / S7 Edge , S8 / S8+, S9 / S9+, Note 8, Note 9, Tab S3, Tab S4
  • Google: Pixel / Pixel XL, Pixel 2 / Pixel 2 XL
  • Asus: ROG Phone, Zenfone 4 Pro, 5Z, V
  • Essential: PH-1
  • Huawei: Honor 10, Honor Play, Mate 10 / Pro, Mate RS, Nova 3, P20 / Pro, V10
  • LG: G5, G6, G7 ThinQ, V20, V30 / V30+
  • Nokia: 8
  • OnePlus: 5 / 5T, 6
  • Razer: Phone
  • Xiaomi: Blackshark, Mi 5 / 5S / 5S Plus, 6 / 6 Plus, Mi 8 / 8 Explorer / 8SE, Mi Mix, Mi Mix 2, Mi Mix 2S, Mi Note 2
  • ZTE: Axon 7 / 7s, Axon M, Nubia / Z17 / Z17s, Nubia Z11

Melalui pautan di atas, EpicGames mengatakan peranti anda mungkin boleh menjalankan fortnite sekiranya mempunya spesifikasi seperti berikut

  • OS: 64 bit Android, 5.0 or higher
  • RAM: 3GB or higher
  • GPU: Adreno 530 or higher, Mali-G71 MP20, Mali-G72 MP12 or higher

Tetapi sekiranya anda tidak boleh menjalankannya, anda boleh mencuba langkah di bawah.

Bagi peranti yang tidak di sokong

Untuk bermain pada peranti yang tidak di sokong, anda perlu mengubahsuai build.prop anda selaras dengan peranti yang disokong. Dalam panduan ini, kita akan menggunakan data daripada Samsung Note 9.

Muat turun BuildProp Editor
Mulakan dengan memuat turun BuildProp Editor dahulu.

Ubah build.prop anda
Baris demi baris, cari dan gantikan mengikut teks di bawah. Sekiranya tidak ada, tambahkan sahaja.

ro.product.brand=samsung
ro.product.manufacturer=samsung
ro.build.product=crownlte
ro.product.device=crownlte
ro.product.model=SM-N960F
ro.product.name=crownltexx

Matikan USB Debugging
Kemudian, anda perlu mematikan USB Debugging. Sekiranya anda tidak tahu bagaimana caranya, ikuti panduan ini.

Sorokkan Magisk

Magisk perlu disorokkan agar pengesan terbina di dalam Fortnite tidak dapat mengesannya.

Hide Fortnite
Masuk menu, lalu pergi ke Magisk Hide, tandakan aplikasi Fortnite

Hide Magisk Manager
Anda perlu sorokkan Magisk Manager. Masuk ke bahagian settings, lalu tekan
Hide Magisk Manager

Magisk akan di ulang-pasang menggunakan nama pakej yang berlainan.

Magisk Core Only Mode
Kemudian, buka kembali Magisk dan pergi ke settings sekali lagi, dan aktifkan Magisk Core Only Mode

Padam folder MagiskManager
Langkah terakhir adalah memadam folder MagiskManager yang terletak di dalam /sdcard

Kemudian but semula (reboot) dan anda boleh cuba menjalankan Fortnite.

Cara mematikan atau menghidupkan USB Debugging pada Android

USB Debugging secara am nya digunakan oleh pembangun untuk mengakses log atau memindahkan fail supaya proses membangun aplikasi menjadi lebih mudah. Oleh sebab ini, terdapat aplikasi yang enggan dijalankan sekiranya mod ini aktif. Sekiranya anda mahu mematikan fungsi ini ataupun anda seorang pembangun yang mahu mengaktifkannya, anda sedang berada di tempat yang betul.

Pilihan USB Debugging terletak di dalam Developer Options. Sekiranya anda belum mengaktifkannya, ikuti panduan yang telah saya tulis ini
Apabila anda sudah dapat mengakses Developer Options, pergi ke
Settings > Developer Options
Skrol ke bawah dan cari seksyen Debugging. Di bawahnya anda akan menjumpai pilihan USB Debugging

Di dalam gambar di atas, USB Debugging sedang aktif. Tekan suis dikanan untuk mematikannya

Sekiranya anda mahu menghidupkan, lakukan sebaliknya