เรื่องใหญ่ที่ผู้ดูแลระบบเว็บต้องเตรียมพร้อมรับมือกันในเร็วๆ นี้คือ PHP 5.6 รุ่นสุดท้ายในซีรีส์ PHP 5.x จะหมดระยะซัพพอร์ตในวันที่ 31 ธันวาคม 2018
นั่นแปลว่าเมื่อขึ้นปี 2019 เป็นต้นไป PHP 5.x จะไม่มีแพตช์ความปลอดภัยอีกแล้ว หากมีช่องโหว่ใหม่ถูกค้นพบ ก็เป็นความเสี่ยงอย่างมากที่จะถูกโจมตี
โครงการ PHP พยายามจะหยุดการซัพพอร์ต PHP 5.x ตั้งแต่ปี 2017 แต่เนื่องจาก PHP 5.6 ยังเป็นเวอร์ชันที่ได้รับความนิยมสูงสุด จึงขยายเวลาให้มาจนถึงสิ้นปี 2018 ซึ่งเราใกล้เดินทางไปถึงจุดนั้นแล้ว
โครงการ HHVM หรือ HipHop Virtual Machine ของเฟซบุ๊กประกาศแยกทางจาก PHP แล้ว โดยต่อจากนี้จะซัพพอร์ตภาษา Hack อย่างเดียว
HHVM เปิดตัวสู่โลกภายนอกเมื่อปี 2010 โดยเป็นตัวคอมไพล์ภาษา PHP ให้กลายเป็น C++ เพื่อให้ประสิทธิภาพการทำงานเท่าซอฟต์แวร์แบบ native อย่างไรก็ตาม ภายหลัง HHVM เริ่มพัฒนาภาษา Hack โดยแก้ไขข้อจำกัดของ PHP เช่น การเพิ่มการตรวจสอบชนิดตัวแปร, รองรับ generics, รองรับฟังก์ชั่น lambda
HHVM รุ่น 3.30.0 จะออกปลายปีนี้ เป็นรุ่นสุดท้ายที่รองรับภาษา PHP และจะซัพพอร์ตต่อไปอีกจนถึงปลายเดือนพฤศจิกายน 2019 ส่วน HHVM 4.0 จะเป็นรุ่นแรกที่ไม่รองรับภาษา PHP อีกต่อไป มีกำหนดออกปลายเดือนมกราคม 2019
Google App Engine ประกาศรองรับภาษาโปรแกรมแบบ standard environment เพิ่มเติมอีก 2 เวอร์ชันคือ Python 3.7 และ PHP 7.2
ปกติแล้ว App Engine มีสภาพแวดล้อมการทำงาน 2 แบบคือ standard environment ที่ใช้รันไทม์จากกูเกิลโดยตรง ราคาถูกกว่า กับ flexible environment ที่ผู้ใช้ติดตั้งรันไทม์เอง ราคาแพงกว่า
ช่องโหว่รันโค้ดในระบบจาก PHPMailer เพิ่งแก้ไขไปไม่กี่วัน ตอนนี้ Dawid Golunski ก็รายงานว่า SwiftMailer ไลบรารีแบบเดียวกันก็มีช่องโหว่แบบเดียวกันด้วย โดยหมายเลขช่องโหว่เป็น CVE-2016-10074
ตัว Golunski ระบุว่าเขารายงานช่องโหว่นี้ไปตั้งแต่ต้นเดือนธันวาคม แต่ทางโครงการไม่ตอบกลับ และเขาพยายามเตือนว่าช่องโหว่แบบเดียวกันนี้อยู่ใน PHPMailer ที่กำลังแก้ไขด้วย แต่ก็ผู้ผลิตก็ยังไม่ตอบรับคำเตือน จนกระทั่งเขาออกประกาศออกมาเมื่อวานนี้
ตอนนี้ SwiftMailer ออกแพตช์แล้วเป็นรุ่น 5.4.5 ทุกคนที่ใช้งาน เช่น โมดูล Swift Mailer ใน Drupal ควรเร่งอัพเดต
ช่องโหว่ระดับวิกฤติของ PHPMailer เพิ่งแพตช์ไปเมื่อวันก่อน ตอนนี้มีแฮกเกอร์พบว่าแพตช์ในรุ่น 5.2.17 ที่ผ่านมายังไม่สมบูรณ์ ทำให้แฮกเกอร์สามารถโจมตีช่องโหว่เดิมได้อีกครั้ง หมายเลขประจำช่องโหว่ใหม่เป็น CVE-2016-10045
ทาง PHPMailer ออกเวอร์ชั่นล่าสุด 5.2.20 เมื่อสามชั่วโมงที่ผ่านมา (มีเวอร์ชั่น 5.2.21 ที่แก้ไขไฟล์ข้อมูลเล็กน้อย ไม่เกี่ยวกับช่องโหว่) ผู้ดูแลที่ซอฟต์แวร์ที่ใช้ PHPMailer ควรอัพเดตโดยเร็ว
ที่มา - Dawid Golunski
PHPMailer ไลบรารีสร้างและส่งอีเมล มีช่องโหว่ระดับวิกฤติที่เปิดทางให้แฮกเกอร์สามารถรันโค้ดใดๆ บนเซิร์ฟเวอร์ได้ ตัวไลบรารีถูกใช้งานบนเว็บไซต์มากกว่า 9 ล้านเว็บทั่วโลก ทำให้ตอนนี้เว็บจำนวนมากตกอยู่ในความเสี่ยง
ช่องโหว่ CVE-2016-10033 รายงานโดย Dawid Golunski เมื่อสองวันก่อน ตัวช่องโหว่ถูกจัดความเสี่ยงโดยทีมความปลอดภัยซอฟต์แวร์ของ Drupal ไว้ที่ระดับ 23/25 จากการโจมตีที่เข้าถึงได้ง่าย และมีการโจมตีในโลกความเป็นจริงแล้ว
ปีที่แล้ว PHP ออกรุ่นใหญ่ 7.0 วันนี้เวลาวนมาเกือบครบปีพอดี ถึงคราวของ PHP 7.1 รุ่นอัพเดตย่อยครั้งแรกในสาย 7.x
ฟีเจอร์ใหม่ของ PHP 7.1 มีดังนี้ (รายการเปลี่ยนแปลงแบบเต็มๆ อ่านได้จากที่มา)
แนะนำ Kotchasan (คชสาร) PHP Web Framework ที่ออกแบบโดยคนไทย ทั้งระบบ มีจุดเด่นที่ ความเร็วสูง และ ติดตั้งได้ง่าย ใช้งานได้กับ Hosting ส่วนใหญ่ โดยรองรับแล้วตั้งแต่ PHP 5.3 ถึง PHP 7 และไม่ต้องการ Server ที่มีคุณสมบัติพิเศษแต่อย่างใด
http://www.kotchasan.com เว็บไซต์หลัก
https://github.com/goragod/kotchasan ซอร์สโค้ดบน github
http://gcms.in.th เว็บ CMS ที่สร้างจาก คชสาร
http://www.kotchasan.com/comparison.html ผลการทดสอบ Benchmark
Zend Framework เฟรมเวิร์คยอดนิยมสำหรับภาษา PHP ออกเวอร์ชันใหม่ Zend Framework 3 หลังพัฒนามานานเกือบ 4 ปี จุดเด่นสำคัญของเวอร์ชันนี้คือรองรับ PHP 7 ที่เปิดตัวเมื่อปลายปีที่แล้ว
ของใหม่อย่างอื่นได้แก่การปรับปรุงประสิทธิภาพ (เพิ่มขึ้นสูงสุด 4 เท่าบน PHP 5 และดีขึ้นบน PHP 7 ด้วย), ปรับปรุงเรื่องการแยกแพ็กเกจของตัวเฟรมเวิร์คให้ไม่ซ้ำซ้อน นำมาใช้ซ้ำได้ง่ายขึ้น, ปรับปรุงเอกสารให้พัฒนาขึ้นมาก
ในโอกาสเดียวกับที่ Zend Framework 3 ออกตัวจริง ทางบริษัท Rogue Wave Software ก็ประกาศหยุดสนับสนุน Zend Framework เวอร์ชัน 1 ในวันที่ 28 กันยายน 2016 และแนะนำให้ลูกค้าย้ายแอพพลิเคชันมารันบน Zend Framework 2/3 แทน
ซอร์สโค้ดของ PHP 7.0.0 ออกมาสองวัน ตอนนี้ทางทีมงานก็ประกาศเปิดตัวเป็นทางการแล้ว โดยมีไบนารีเฉพาะเวอร์ชั่นวินโดวส์ ส่วนคนใช้ลินุกซ์ระหว่างที่ดิสโทรต่างๆ ยังไม่ได้รับเข้าโครงการคงต้องหาแหล่งอิสระกันเอง เช่น Ubuntu ก็อาจจะใช้จาก ppa:ondrej
ความเปลี่ยนแปลงมีเป็นจำนวนมาก ถ้าใครอยากย้ายแอปไปอยู่บน PHP 7.0.0 ก็เตรียมอ่านเอกสารแนะนำการย้ายโค้ดได้
ที่มา - PHP.net
PHP เตรียมประกาศปล่อย PHP 7.0.0 ในวันนี้ หลังจากซอร์สโค้ดใน GitHub ถูกแท็กเรียบร้อยแล้วใน commit "60fffd2" หนึ่งสัปดาห์หลังจากรุ่น 7.0.0RC8 ฟีเจอร์สำคัญๆ ได้แก่
WordPress.com เปลี่ยนระบบหลังบ้านของตัวเองใหม่หมด จากของเดิม (wp-admin) ที่เขียนด้วย PHP มาเป็นระบบใหม่ชื่อ "Calypso" ที่เขียนด้วย JavaScript ทั้งหมด 100% แทน (ใช้ Node.js และ React)
Matt Mullenweg ผู้ก่อตั้ง WordPress อธิบายเหตุผลของการเปลี่ยนแปลงว่าโค้ดของ WordPress เขียนมานานแล้ว และจุดเด่นของ WordPress ที่รักษาความเข้ากันได้ย้อนหลัง (backward compatibility) มาโดยตลอด กลับกลายเป็นตัวฉุดรั้งไม่ให้ตัวมันเองพัฒนาแบบก้าวกระโดดได้
คนเขียน PHP คงคุ้นเคยกับชื่อบริษัท Zend Technologies เจ้าของซอฟต์แวร์ที่เกี่ยวเนื่องอย่าง Zend Framework, Zend Studio และ Zend Server
Zend Technologies อยู่ด้วยตัวเองลำพังมานาน ล่าสุดมีคนมาซื้อกิจการแล้วคือ Rogue Wave Software บริษัทซอฟต์แวร์เก่าแก่ (เปิดกิจการปี 1989) ที่ทำธุรกิจด้านเครื่องมือพัฒนาซอฟต์แวร์ภาษา C/C++/Fortran มีผลิตภัณฑ์อย่าง Klocwork, OpenLogic เป็นต้น ลูกค้าของ Rogue Wave คือภาคธุรกิจหรือองค์กรขนาดใหญ่
Rogue Wave ระบุว่าซื้อกิจการ Zend เพื่อเสริมสายผลิตภัณฑ์ด้านเครื่องมือพัฒนาให้ครบ ตอนนี้บริษัทมีทั้ง C, C++, C#, Java และล่าสุดคือ PHP
เว็บ Phoronix ซึ่งเป็นเว็บข่าวและรีวิวโครงการโอเพนซอร์สอย่างสม่ำเสมอ ได้ทดสอบ PHP 7.0 RC2 ที่เพิ่งออกด้วย Phoronix Test Suite และพบว่าประสิทธิภาพของมันดีขึ้นอย่างมีนัยสำคัญ โดยสรุปได้ดังนี้
ข่าวสั้นครับ สำหรับใครที่ใช้ App Engine ฝากแอพที่เป็น PHP ทางทีม App Engine จะอัพเกรดตัวรันไทม์ให้เป็นรุ่น 5.5 ภายใน 2 สัปดาห์นี้ครับ
เท่าที่ผมเช็คดู PHP 5.5 มีความเข้ากันได้กับรุ่นก่อนหน้าค่อนข้างสูงมาก หากเขียนแอพที่ใช้ได้บน 5.4 อยู่แล้วก็แทบไม่ต้องเปลี่ยนอะไรเลย แต่ถ้ายังต้องการใช้ 5.4 ต่อไป ก็สามารถยื่นแบบฟอร์มขอต่ออายุการใช้งานได้ครับ
ที่มา: จดหมายข่าว Google App Engine
Dear App Engine developer,
ข่าวนี้ย้อนหลังพอควรนะครับ CodeIgniter ซึ่งเป็น PHP framework ที่ช่วยให้การพัฒนาเว็บแอพพลิเคชันเป็นเรื่องสะดวกและรวดเร็ว (rapid development) ได้ไปอยู่ในความดูแลของ British Columbia Institute of Technology (ขอเรียกว่า BCIT) หลังจากที่อยู่กับบริษัท EllisLab ที่เป็นผู้เริ่มต้นพัฒนามา 8 ปี
ทีม PHP ประกาศออก PHP รุ่นใหม่ในหมายเลข 5.6.0 ซึ่งมีความสามารถที่เข้ากันไม่ได้กับรุ่นก่อนหน้า ดังนี้
json_decode()
จะเข้มงวดกับการแปลไวยากรณ์ JSON มากขึ้นภาษา PHP ที่เราใช้ทุกวันนี้เป็นการสร้าง interpreter โดยบริษัท Zend แม้จะมีคู่มือบอกว่าใช้งานอย่างไรแต่ก็ไม่มีสเปคชัดเจนให้ผู้ที่ต้องการนักพัฒนาคอมไพล์เลอร์ของตัวเองไปพัฒนาได้ ตอนนี้ทางเฟซบุ๊กจึงเข้ามาช่วยเขียนสเปคนี้ให้ด้วยตัวเอง และเวอร์ชั่นแรกก็ออกมาให้อ่านกันแล้ว
สเปคภาษานี้จะอิงกับ PHP 5.6 โดยปล่อยออกมาพร้อมกับชุดทดสอบความเข้ากันได้
การที่ภาษามีสเปคชัดเจน ทำให้การอิมพลีเมนต์มีได้หลากหลาย เช่นใน Python นั้นเราสามารถใช้นิยามภาษาไปสร้าง Jython ที่เข้ากันได้ (แม้ตัวโมดูลอาจจะเข้ากันไม่ได้ก็ตาม) หรือภาษา C/C++ ที่มีคอมไพล์เลอร์จากผู้ผลิตหลายรายให้เลือกใช้งาน
ภาษาเขียนเว็บยอดนิยมอย่าง PHP ได้หมายเลขสำหรับรุ่นถัดไปแล้วคือเลข 7
จาก PHP รุ่น 5 อันแสนคุ้นเคยในปัจจุบันที่ถูกพัฒนามาอย่างยาวนาน (รุ่น 5.0 ออกตั้งแต่ปี 2004) และการออก PHP รุ่น 6 มาอย่างคู่ขนานกันในอดีตเพื่อแก้ไขปัญหาเกี่ยวกับ Unicode แต่ก็ไม่ได้รับความนิยมจนต้องพับโครงการไป ทำให้ชุมชน PHP ถกเถียงกันว่า PHP รุ่นถัดไปจะให้ขึ้นหมายเลขใหม่เป็นเลข 7 เพื่อล้างอาถรรพ์ หรือปัดฝุ่นเอาเลข 6 กลับมาใช้ดี ข้อถกเถียงจากทั้งสองฝ่ายต่างมีน้ำหนักจนต้องจัดการลงคะแนนเสียง ด้วยกฎง่ายๆ เพียงแค่ให้คะแนนเกินครึ่งก็พอ
ผลลัพธ์การลงคะแนนเสียง เสียงส่วนมากซึ่งก็คือ 58 เสียงจาก 82 เสียงเลือกให้ใช้หมายเลข 7 เป็นตัวแทนรุ่นถัดไป ส่งผลให้เราพูดได้อย่างเต็มปากเต็มคำว่า "ลาก่อน PHP 6"
รายงานช่องโหว่ความปลอดภัยของ PHP จากบริษัท SektionEins GmbH แสดงช่องให้เห็นว่าฟังก์ชั่น phpinfo มีปัญหาความปลอดภัย ทำให้แฮกเกอร์ที่สามารถรันโค้ดได้ สามารถอ่านหน่วยความจำจุดใดๆ ก็ได้ในโปรเซส
ทีมงาน SektionEins สาธิตให้ดูด้วยการรันสคริปต์เพื่อดึงกุญแจ SSL จาก mod_ssl ที่รันภายใต้โปรเซส Apache ตัวเดียวกัน ทำให้แฮกเกอร์ที่รันสคริปต์ในเครื่องได้สามารถดึงกุญแจ SSL ออกมาได้ทันที แม้จะเป็นเพียงแอพพลิเคชั่นหนึ่งที่ไม่มีสิทธิจัดการเซิร์ฟเวอร์ก็ตามที
Heroku บริการกลุ่มเมฆแบบ PaaS ที่เดิมทีออกแบบมาเพื่อ Ruby เพียงอย่างเดียว (แล้วขยายมายัง Python, Java, Node.js ในภายหลัง) ประกาศรองรับภาษายอดนิยมอย่าง PHP แล้ว
การใช้งาน PHP บน Heroku มีได้สองทางเลือกคือใช้ตัวรันไทม์หรือ VM ของ PHP รุ่นปกติ หรือใช้ HipHop VM ของ Facebook ที่ช่วยให้ประสิทธิภาพของ PHP ดีขึ้นมาก (ในขณะที่ยังคงความเข้ากันได้กับโค้ด PHP เดิม) ซึ่งนักพัฒนาสามารถกำหนดได้เองว่าจะเลือก VM ตัวไหน
Heroku ยังมีแผนจะรองรับระบบจัดการแพ็กเกจ Composer เพื่อให้การจัดการ dependency ของโมดูลต่างๆ ของ PHP ง่ายกว่าเดิมในอนาคตด้วย
เฟซบุ๊กใช้ภาษา PHP มาตั้งแต่แรกๆ และใช้เรื่อยมาจนถึงปัจจุบันโดยสร้างเทคโนโลยีมาเสริมเพื่อรองรับการทำงานประสิทธิภาพสูงอยู่เรื่อยๆ โครงการก่อนหน้านี้เช่น HipHop VM (HHVM) ตอนนี้ก็มีพัฒนาการใหม่ถึงขั้นพัฒนาภาษาของตัวเองในชื่อว่าภาษา Hack แล้ว
ภาษา Hack เป็นภาษาที่ออกแบบมาเพื่อทำงานร่วมกับ HHVM และ PHP ได้เป็นอย่างดี ขณะเดียวกันก็มีฟีเจอร์ใหม่ๆ ที่เหมาะกับโครงการขนาดใหญ่มากขึ้น เช่น การระบุชนิดตัวแปร และระบุได้ว่าตัวแปรประเภทใดเป็น Null ได้, Generics, Collection เช่น Vector/Set/Pair เป็นชนิดตัวแปรพื้นฐาน, Lambda สร้างฟังก์ชั่น
ดาวน์โหลดได้เลยวันนี้
จากตอนที่แล้ว “Windows Azure ตอนที่ 3 การติดตั้ง Drupal บน Windows Azure Web Sites” นั้น จะไม่ขอพูดในบางส่วนที่เป็นการอธิบายซ้ำซึ่งอยู่ในขั้นตอนที่ 1 – 30 ซึ่งจะใช้การตั้งค่าที่เหมือนกัน (ใช้ในการอ้างอิงได้ทุก CMS ของ PHP ด้วยซ้ำไป)
โดยจากขั้นตอนที่ 1- 30 จากบทความที่แล้ว เราจะมีข้อมูลดังต่อไปนี้
ข่าวนี้ต้องย้อนกันไกลหน่อยนะครับ เริ่มจากปี 2010 Facebook เปิดตัว HipHop for PHP ตัวแปลภาษา PHP เป็นไบนารีเพื่อเร่งความเร็วของ PHP โดยจะแปลงเป็น C++ ก่อนแล้วค่อยคอมไพล์ปกติอีกครั้ง
Symantec ค้นพบเวิร์มบนลินุกซ์ชื่อ Linux.Darlloz ที่อาศัยช่องโหว่เก่าของ PHP (ถูกแพตช์ตั้งแต่เดือน พ.ค. 2012) ในการแพร่กระจายตัวไปยังอุปกรณ์ต่างๆ
เวิร์มตัวนี้ยังไม่สร้างอันตรายให้กับระบบมากนัก เป็นแค่การทดสอบของแฮ็กเกอร์ผู้สร้างเวิร์มว่ามันทำงานได้จริงหรือไม่ (ตอนนี้ยังมีผลเฉพาะอุปกรณ์ที่เป็น x86 เท่านั้น) แต่ก็จะเริ่มมีเวิร์มเวอร์ชันกลายพันธุ์ที่มุ่งโจมตีอุปกรณ์ที่ใช้ซีพียูสถาปัตยกรรมอื่นแล้ว