[บันทึก] Vagrant กับ PHP 5.3 หาไม่เจออ่ะ โน่ววววว


ทุกอย่างอยู่ในนี้หมดแล้ว
https://phalconphp.com/en/download/vagrant

บาาาาย

เห้ย! เดี๋ยว! ขอเล่าเรื่องก่อนนนน
คือแบบนี้ครับ มีโปรเจคที่ต้องใช้ PHP 5.3 หรือ 5.4 เฉพาะสองตัวนี้เท่านั้นล่ะ พอจะไปหาจาก Puphpet เค้าก็อัพเดทเป็นขั้นต่ำต้อง PHP 5.5 ซะแล้ว(เข้าใจว่าอย่างนั้นนะ เพราะผมโหลดตัว 5.4 มาติดตั้งสามรอบ มันก็กลายเป็น 5.5 ซะงั้น) แต่ไม่เป็นไร ใช้ไม่ได้ก็ช่างมันไปหาเจ้าอื่นก็ได้ จนค้นไปค้นมาก็มาเจอบนเว็บของ Phalcon มี MySQL ให้ซะด้วย ดีย์งาม

โดยมีการปรับแต่งไฟล์ Vagrantfile โดยอย่างแรกคือเพิ่ม config.vm.network "private_network", ip: "192.168.56.101" เป็นการตั้งค่า IP ของ Vagrant ครับ ตัวนี้ผมปรับตาม Puphpet ที่เคยใช้นี่ล่ะ คือตัว Puphpet เค้าใช้ .56.101 เป็น IP Default แล้วใน /etc/hosts ในเครื่องผมเองก็ใช้ตัวนี้เยอะแล้วด้วย เลยขี้เกียจจะปรับแล้วล่ะ อีกตัวก็คือ config.vm.synced_folder "./", "/var/www", :owner => "www-data", :group => "www-data" เป็นการ Sync ทุกสิ่งอย่างไปที่ /var/www บนตัวเซิฟเวอร์ Vagrant แล้วก็ปรับ Owner กับ Group

จากนั้นปรับแต่ง php.ini อีกนิดหน่อย เพราะมันมีปัญหาก็คือเครื่องนี้เราเอามา Dev ไม่ได้ใช้ Production เลยต้องปรับ สองตัวนี้
error_reporting = E_ALL
display_errors = On
โดย error_reporting จะแสดง Error และ Warning เป็นการกึ่งๆ บังคับว่าต้องเขียนให้ถูก แล้วก็ display_errors ก็ให้แสดง Error ...

ยัง! ยังไม่หมด มันไม่มี GD โอ้ยยยยยยย อิบร้าาาาาาา วิธีแก้ก็คือสั่ง
sudo apt-get update
sudo apt-get install php5-gd

เป็นอันเสร็จเรียบร้อย เย้ เย้

เล่าเพิ่มเติมอีกนิดหน่อยก็คือ คนเขียนพวกภาษา Dynamic มักจะลืมประกาศตัวแปรบ่อยมาก เช่น
if( $test === true ){
   $txt = "Hello"
}
จู่ๆ มา if ตัวแปร $test หรือ $txt แบบนี้ ถ้าเป็นภาษา Static คง Compile ไม่ผ่าน แต่ถ้าเป็น PHP ก็แค่เตือน Warning ล่ะมั้ง ก็จริงอยู่ว่า PHP เค้าไม่ได้บังคับให้เขียน แต่มันก็น่าจะเขียนให้ติดเป็นนิสัยรึป่าวหว่า? ไม่รู้เหมือนกันแฮะ น่าจะแล้วแต่คนด้วยล่ะมั้ง

ปีที่แล้วช่วงสิ้นปี ว่าจะเขียนเรื่อง cron ซะหน่อย พอดีมีโอกาศได้จับเล็กๆ น้อยๆ ช่วงเข้าเวร แล้วก็มัวแต่นั่งอ่าน Code Breaker จนลืมไปซะงั้น ... เดี๋ยวจะมาเขียนชดใช้ให้ทีหลังนะขอรับ (´・ω・`)

Comments