Categories
Blog Web Development Web Optimize

สรุป Web Performance Optimization

บล็อกนี้ก็จะเป็นบล็อกที่สรุปเรื่อง Web Performance ที่ได้ไปเรียนมากับ Skooldio โดย คุณ วรัทธน์ วงศ์มณีกิจ ซึ่งเป็น Google Developers Expert

Categories
Networking PHP Wordpress

วิธีแก้ไขให้ WordPress รันได้บน IIS

โดยปกติแล้ว WordPress ไม่ได้สร้างมารองรับการทำงานบน IIS มันจะเปิดได้แค่หน้าแรกหน้าเดียว

ดังนั้นต้องมีการ config เพิ่มเติมเกี่ยวกับการ access ของ webserver

ถ้าเป็น Apache จะอ่านไฟล์ .htaccess แต่ ฝั่ง IIS จะเป็นไฟล์ web.config แทน

ลองแก้ไข ไฟล์ web.config ใน root directory ของเว็บ

 

ทีนี้ก็จะสามารถใช้งาน WordPress บน IIS ได้แล้ว

Categories
Laravel Networking PHP

วิธีแก้ PHP Fatal error: require(): Failed opening required (VestaCP)

VPS ของผู้ให้บริการบางรายจะมีการ config ค่า open_basedir เป็นการป้องกันการ include ย้อน directory ขึ้นไป (เหตุผลด้าน Security) โดยจะดักไว้ตรง public_html

ดังนั้น เมื่อเราต้องการใช้งาน framework บางตัว (เช่น Laravel) ที่ต้องมีการ include file ที่อยู่ ในเลเวล เดียวกับ public_html จะไม่สามารถทำได้

จะแจ้ง Fatal Error เป็น Fatal error: require(): Failed opening required

ไฟล์ /{DOMAIN}.httpd.conf

วิธีการแก้ไขคือ เข้าไปแก้ที่ไฟล์

แก้ไขตรงค่า

แก้ไขเป็น

นั่นก็คือ เอา public_html ออกนั่นเอง

 

ปล. {USER} เป็นชื่อ user account {DOMAIN} เป็นโดเมนของเว็บที่มีปัญหา

ปล2. VPS ตัวนี้ใช้ VestaCP

ปล3. คือ SSH เข้าไปก็จะเห็นเองแหละ

Categories
PHP Web Development

วิธีแก้ PHP7 ทำงานช้าใน Command Line

จากความเดิมตอนที่แล้ว ผมได้ทำการเปลี่ยน Default ของ OSX ที่เดิมเป็น PHP 5.6 เป็น PHP 7 (7.0.15) ของ MAMP (วิธีเปลี่ยน PHP7 เป็นค่า default ใน OSX)

พอเปลี่ยนเสร็จแล้ว มันทำงานใน Command line ช้ามาก ประมาณ 5วินาที จึงจะแสดง Version ออกมาได้

 

ผมเลยทำการรันคำสั่ง :

เพื่อจับเวลาในการรันคำสั่ง php -v

 

ผลลัพธ์ที่ได้ :

ใช้เวลา 5.096 วินาที คำสั่ง php -v จึงจะแสดงผล ซึ่งช้ามากๆ

 

ลองไปค้นหาข้อมูลใน Google ดู ก็พบคนที่มีปัญหาเหมือนกันใน StackOverflow
https://stackoverflow.com/questions/29165740/cli-mamp-php-running-slowly-compared-to-os-x-php

ลองทำตามดู

เข้าไปแก้ hosts file ซึ่งอยู่ที่ /etc/hosts โดยผมใช้ Gas Mask Host file editor

จากของเดิมที่เป็น localhost เป็น mai-local.local

mai-local.local ก็เอามาจากการรันคำสั่ง hostname ใน Terminal นะครับ

 

เสร็จแล้วลองรันคำสั่ง time php -v อีกครั้ง

ทีนี้ก็กลับมาเร็วปี๊ดเหมือนเดิมแล้ว

Categories
PHP Web Development

วิธีเปลี่ยน PHP7 เป็นค่า default ใน OSX

พอดีว่าได้โหลด Visual studio Code มาใช้

ทีนี้โหลดพวก Extenstion ของ PHP มา VS Code มันก็แจ้งเตือนว่าต้องการ PHP7 นะ

แต่ตอนนี้เป็น PHP 5.6 (เนื่องจากว่าลง MAMP ไว้ก่อนแล้ว)

ลองไปเปลี่ยน PHP version ใน MAMP ก็ยังไม่หาย เพราะว่า มันเปลี่ยนเฉพาะใน MAMP มันไม่ได้เปลี่ยนค่า default ของ OS

ซึ่งต้องพิมพ์คำสั่งตรวจสอบ version ใน Termimal

หมายเลข version ที่ได้จากคำสั่งนี้จะเป็น PHP ที่เป็น default ของ OS

การแก้ไข

เข้าไปที่ Terminal พิมพ์คำสั่ง

กรอกรหัสผ่านเสร็จ จะเป็นไฟล์เปล่าๆ ให้ใส่โค้ด

กด ctrl + o แล้วกด enter เพื่อทำการบันทึก เสร็จแล้วอย่าลืมพิมพ์คำสั่ง

ที่นี้ลองพิมพ์

ใน Terminal ดู จะได้หน้าตาประมาณนี้

ถ้า VS Code ยังแจ้งเตือนอยู่ ให้ Logout แล้ว Login ใหม่อีกครั้ง

 

ปล. ของผม MAMP Version 4.1.1 (492)

Categories
Portfolio

Course Schedule Plugin for WordPress

เนื่องจากทางลูกค้าซื้อธีม ที่มีระบบขายคอรส์ มาให้ ปรับแต่ง ยังไม่ค่อยถูกใจเท่าไหร่ คือยังไม่มี หน้าที่แสดงผลคอร์สต่างๆ เป็นแบบปฏิทิน

ทางเราก็เลยสร้าง Plug-in ขึ้นมาให้เหมาะสมกับการใช้งานที่ลูกค้าต้องการ

Categories
Portfolio

NETwork Monitoring report Info Graphic for iPad

งานนี้จะเป็นโปรเจคจบสมัยเรียนมหาลัย จะเป็นการแสดงรายงาน บันทึกข้อมูลการใช้งานอุปกรณ์ และเครือข่ายในตึกคณะ ออกมาเป็น Infographic เพื่อให้มองเห็นภาพรวมได้ง่ายขึ้น

แต่ไม่ได้แสดงผลเป็นแบบเรียลไทม์ ซึ่งแอพนี้จะดึงข้อมูลที่ถูกบันทึกไว้มาแสดงผลเป็น Infographic

เทคโนโลยีที่ใช้ ในส่วนของ Frontend จะเป็น HTML5 + CSS3 + Javascript

และ Backend จะเป็น PHP ซึ่งจะมีตัว cronjob script ที่ไปดึงข้อมูล MIB ผ่านโปรโตคอล SNMP จากตัวอุปกรณ์ Switch อีกทีนึง

และจะมีข้อมูลบางส่วนที่ไม่สามารถไปดึงจาก MIB ของอุปกรณ์ได้ เช่น การใช้งาน ทราฟฟิกในแต่ละโปรโตคอล (HTTP, SSL, FTP และอื่นๆ) จะทำการ Port mirroring ที่ตัว switch hub และส่งข้อมูลมายังเซิร์ฟเวอร์ที่เก็บข้อมูลอีกที

Categories
Portfolio

เว็บไซต์ sbcrane.co.th บริการเครนให้เช่า

เป็นเว็บไซต์ที่ออกแบบมาเพื่อรองรับการใช้งานในทุกอุปกรณ์ ทั้ง เดสก์ท็อบ โทรศัพท์มือถือ และ เท็บเล็ต

ในส่วนของโทรศัพท์มือถือจะดูแปลกๆหน่อย เพราะลูกค้าต้องการให้เห็นเบอร์โทรศัพท์อย่างชัดเจน ไม่ต้องเลื่อนลงไปหา

Categories
Portfolio

เว็บไซต์ Bunjerd Agency

เว็บไซต์นี้ทางลูกค้ามีดีไซน์เป็นไฟล์ JPEG มาให้ ทางเราก็สามารถนำมาแปลงเป็น HTML และนำมาทำเป็นธีมใส่ใน WordPress

ทางเราก็ทำให้เว็บไซต์นี้สามารถใช้งานผ่าน โทรศัพท์มือถือ และเท็บเลตได้อีกด้วย นั่นคือรองรับทุกอุปกรณ์นั่นเอง