#php
10 catatan
159 view
Wed, 21 Dec 2016 6:49 pm
Wed, 21 Dec 2016 6:37 am
Percobaan mengawinkan PHP dan Python masih berlangsung, untuk tantangan pertama dan cukup berliku melewatkan POST file (upload) dengan perantara apache httpd dengan proxypass dan proxypassreverse berhasil dilakukan. Form upload ditangani PHP, sedangkan action diarahkan ke link yang sudah di "proxy" kan ke backend Python. Hal ini dilakukan untuk mengurangi beban PHP (bottleneck syndrom). Dengan memindahkan proses upload ke Python beban kerja didistrubusikan ke beberapa cpu dengan baik sedangkan PHP hanya akan mendistribusikan ke 1 cpu saja, terlihat dari grafik cpu htop yang meningkat di beberapa cpu saat proses upload Python berlangsung. Tantangan berikutnya adalah sharing session antara PHP dan Python, percobaan yang saya lakukan sampai saat ini sudah dalam tahap Python dapat membaca file session PHP namun belum berhasil mengekstrak informasi didalam file session, sepertinya PHP menggunakan serialisasi yang tidak lazim. Apakah perlu dilakukan split lagi? Hehe... that's not elegant ways i think. #python #php #proxypass #apache #kantor
Mon, 29 Aug 2016 8:21 am
Sambil #menaskun_rahmat baca-baca tentang #slimframework. Framework #php yang dipake sebagai backend #pushmessage #android androidhive. Framework ini dikenal sebagai framework yang cocok buat RESTful API... simple
Sun, 28 Aug 2016 9:37 pm
O iya, why back to #php setelah sekian lama? sebenarnya ini masih lanjutan dari project #android dan #pushmessage. Kebetulan ane dapat referensi dari #puji terkait resource android yang menarik, sebuah free project dari Androidhive.info. Kebetulan di project ini si pembuat membangun backend untuk GCM nya dengan php dan #mysql, mau ngga mau ane harus penuhi semua requirement-nya. Langkah awalnya biar bisa jalan sama persis dengan awal dulu, setelah baru nanti dimodifikasi sesuai kebutuhan.
Sun, 28 Aug 2016 9:27 pm
#alhamdulillah berhasil mengawinkan #nginx dengan #php, dengan antarmukanya #php-fpm (php fastcgi process manager). Nginx mengakses php5-fpm dengan sock, walopun sebenarnya ada alternatif lain dengan service. Sempat error sebelumnya, pertama error di nginx tanpa ada pemberitahuan/log apa-apa. Maka langkah awalnya adalah menyalakan error log, dan setelah itu ketahuan ternyata nginx permission denied ke php5-fpm.sock. Dan untuk urusan permission denied ane selalu ambil solusi yang brutal, "chmod -R 777 php5-fpm.sock" sebuah langkah yang sangat tidak dianjurkan (yang ane belum tau kenapa). Dan yang penting untuk sekarang, it's works ! xD
Mon, 1 Aug 2016 11:16 am
Fri, 3 Jul 2015 11:40 am
Anonymous function PHP are awesome, contohnya seperti ini :
<?php $mobil = array( "jalan" => function($nomor_sim){ if($nomor_sim){ return "Caaw !"; }else{ return "Anda tidak punya SIM !"; } }, "berhenti" => function(){ return "Matikan mesin ..."; } ); echo $mobil['jalan'](); // Anda tidak punya SIM echo $mobil['jalan']("SIM123"); // Caaw ! echo $mobil['berhenti'](); // Matikan mesin ... ?>#php #nice #enlightenment #script
Sat, 7 Mar 2015 2:36 pm
belajar list/array di $go
Yang saya tahu pada awalnya, pada #javascript dan #python a = ['ikan', 'sayur', 'buah', 1, 2, 3] selesai, list sudah langsung terbentuk bahkan dengan #php pun mudah a = array('ikan', 'sayur', 'buah', 1, 2, 3) Buum, jadi .... di GO lumayan runyam, namun JELAS dan RAPI listA := []string{"ikan","sayur","buah", "1", "2", "3"} listB, _ := json.Marshal(listA) fmt.Println(string(listB)) // output ["ikan","sayur","buah","1","2","3"] listA2 := []int{1,2,3} listB2, _ := json.Marshal(listA2) fmt.Println(string(listB2)) // output [1,2,3] listA adalah list dengan type data STRING, angka bisa masuk, tapi dia tidak diperlakukan sebagai INT (dengan petik dua "") sedangankan listA2 adalah list dengan type data INT, anggotanya benar-benar angka (tanpa petik dua ""), ikan sayur buah ERROR pada saat di-compile jika dipaksakan masuk kode lengkapnya #go-nya : package main import "fmt" import "encoding/json" type Blog struct { id string things string tag []string } func main() { fmt.Println("Mari mulai ...") // list listA := []string{"ikan","sayur","buah", "1", "2", "3"} listB, _ := json.Marshal(listA) fmt.Println(string(listB)) listA2 := []int{1,2,3} listB2, _ := json.Marshal(listA2) fmt.Println(string(listB2)) // dict mapA := map[string]int {"apple": 5, "lettuce": 7} mapB, _ := json.Marshal(mapA) fmt.Println(string(mapB)) }