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
Web Development

Git command

รวม คำสั่ง git ที่จำเป็นต้องใช้ หรือ เวลามีปัญหา

Categories
Web Development

การทำ WordPress Live Reload สำหรับคนขี้เกียจรีเฟรชเพจ

ในการเขียนโค้ด เวลาจะดูผลลัพธ์ จะต้องเปลี่ยนจากหน้าต่าง Editor ที่ใช้เขียนโค้ด มาเป็น Browser แล้วกด Refresh อีกที ทำให้เสียเวลาอยู่นิดนึง

Categories
PHP Web Development

PHP เชื่อมต่อฐานข้อมูลด้วย MySQLi แบบ OOP

เนื่องด้วย PHP เวอร์ชั่น 5.6 เป็นต้นมานั้น ได้ยกเลิกคำสั่ง mysql ออกไปแล้ว ทำให้ไม่สามารถใช้คำสั่ง mysql ได้ ก็เลยต้องมาปรับโค้ดใหม่กันนิดนึง เพื่อให้รองรับ mysqli

Categories
PHP Web Development

PHP กับการ CRUD พร้อมตัวอย่าง

CRUD เป็นการกระทำกับฐานข้อมูล ครบทุกรูปแบบที่การเขียนโปรแกรมจำเป็นต้องกระทำกับฐานข้อมูล ก็คือ (C)เพิ่ม (R)สืบค้น (U)ปรับปรุง (D)ลบ โดยจับคู่กับคำสั่ง SQL ได้ตามแบบนี้