ติดตั้ง PHP + MySQL บน macOS

ในบทความก่อนหน้านี้ เราได้ทำการติดตั้งและปรับแต่ง Apache Server ของเรากันไปแล้ว ในบทนี้เราจะมาทำการติดตั้ง PHP กันครับ
เราติดตั้งผ่าน homebrew เช่นเดิม โดยการ เปิด terminal แล้วพิมพ์

 

brew install php55 --with-httpd24

 

หลังจากติดตั้งเสร็จแล้ว สิ่งแรกที่เราควรเข้าไปปรับแต่ง PHP ของเราคือ Timezone ก่อน ไม่งั้นเวลาทำงานจะมึนได้ครับ

ทำการเปิด php.ini เพื่อแก้ไข โดยพิมพ์ที่ Terminal

 

open -e /usr/local/etc/php/5.5/php.ini

 

มองหาบรรทัดที่มี date.timezone จากนั้นแก้ให้เป็นเวลาบ้านเรา โดย แก้ code ดังนี้

 

date.timezone = 'Asia/Bangkok'

 

จากนั้นไปทำการปรับตั้งค่า Apache Server ของเราอีกครั้ง เพื่อให้ compile PHP Script ของเราได้ หรือ ทำการโหลด PHP Module นั่นเอง ทำการแก้ไขจาก

 

LoadModule php5_module /usr/local/Cellar/php55/5.5.38_11/libexec/apache2/libphp5.so


เป็น

 

LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so

 

จากนั้น เข้าไป ตั้งค่าการโหลด index page จาก

 

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

 

เป็น

 

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>


จากนั้น เปลี่ยนชื่อ file จาก

 

/Users/Appdikrub/webwork/localhost/index.html

 

เป็น

 

/Users/Appdikrub/webwork/localhost/index.php

 

แล้วลบ code ลบทุกอย่างออก จากนั้น แล้วใส่

 

<?php 
    echo phpinfo();
?>

 

ซึ่งปกติผมจะใช้ localhost ไว้ตรวจสอบการปรับแต่ง PHP ของผมว่า module หรือ config ถูกต้องหรือป่าว

จากนั้นเปลี่ยนชื่อไฟล์

 

/Users/Appdikrub/webwork/webme/index.html


เป็น

 

/Users/Appdikrub/webwork/webme/index.php

 

แล้วลบ code ลบทุกอย่างออก จากนั้น แล้วใส่

 

<?php 
    echo "This is webme.lc";
?>

 

จากนั้นทำการ เรียก url ของที่เราเคยทำการปรับตั้งค่าไว้ คือ localhost และ webme.lc

 

เมื่อเราทำการเรียก url: http://localhost

 

เมื่อเราทำการเรียก url: http://webme.lc

 

ถ้า work แสดงว่าเราทำการตั้งค่าสำเร็จแล้ว พร้อมทำการเขียนและทดสอบ PHP แล้วครับ ถ้าไม่ work ตามนี้ ก็ลองค้น error ใน google ก่อน ถ้าไม่ได้ สามารถ inbox มาหรือจะ comment ถามก้อตามสะดวกครับ ถามได้ที่ www.facebook.com/appdikrub นะครับ แต่อยากให้ลองฝึกแก้ปัญหาดูก่อนแล้วจึงส่งมาถามครับ

 

 

 

วิธีการติดตั้ง MySql บน macOS ผ่าน homebrew

เปิด Terminal ขึ้นมา ทำการพิมพ์

 

$ brew install mysql

 

เมื่อติดตั้งเสร็จแล้ว ให้เราทำการทดลองรัน MySQL ของเราดูกัน

 

$ brew services start mysql

 

จากนั้นทำการ ตั้ง password ให้ root user โดย ติดตั้ง security พิมพ์ code ด้านล่างใน terminal

 

$ mysql_secure_installation

 

มันก็จะถามอะไรประมาณนี้ เราก็ทำการตอบไป แต่สำคัญ คือ password ต้องไม่ผิดนะครับ ทำช้า ๆ ค่อย ๆ ทำ ถ้าผิดต้องมาตามแก้อีกนะครับ

 

Would you like to setup VALIDATE PASSWORD plugin? n
New password: root
Re-enter new password: root
Remove anonymous users? y
Disallow root login remotely? y
Remove test database and access to it? y
Reload privilege tables now? Y

 

จากนั้นเข้า ไปที่เปิด my.cnf โดยพิมพ์

 

open -e /usr/local/etc/my.cnf

 

เพื่อปรับแต่ MySQL ของเราเสียหน่อย เพราะ บางครั้งการ Query แบบ Group by ชอบมีปัญหาสำหรับ PHP version ที่ไม่ match กัน ทำการแก้เป็น

 

[mysqld]
#sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION # Default for MySQL 5.7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[client]
user=root
password=root


จากนั้นทำการ Restart MySQL ของเรา

 

$ brew services restart mysql

 

แสดงการเชื่อมต่อ MySQL ผ่าน Client Tool

 

ทดสอบ connect ดูว่าได้หรือไม่ ถ้าใช้ได้จะได้ restart service แล้วไม่ค้าง ใช้ client application เชื่อมต่อต้องได้ครับ ถ้าหากทำการเชื่อต่อได้ แสดงว่า เราติดตั้ง MySQL สำเร็จแล้วนั่นเองครับ เป็นอันจบขั้นตอนทั้งหมด (สามตอน) ในการติดตั้ง และปรับตั้งค่า Apache + PHP + MySQL บน macOS Sierra เพื่อทำการทดสอบ PHP Script ที่เราเขียนขึ้น ทั้ง Wordpress และ PHP Framework ขอให้สนุกกับเขียน Web Application ครับ

 

Link: ที่เกี่ยวข้อง