แก้ไข “call_user_func_array() expects parameter 1 to be a valid callback, non-static method XXX:init() should not be called statically” ใน plugin “Jetpack for WordPress”
จากปัญหา
The following errors were reported: call_user_func_array() expects parameter 1 to be a valid callback, non-static method xxx::init() should not be called statically
ใน plugin “Jetpack for WordPress” ซึ่งเกิดจากการเขียนโค้ดไม่ตรงกับ Strict standards ใน PHP ที่อยู่ๆ ก็มีการเขียนไป call ตัว static method ใน method ที่ไม่ใช่ static ทำให้เกิดข้อผิดพลาดดังกล่าว
ปัญหานี้จะเกิดกับ Class ของ module ใน plugins “Jetpack for WordPress” ทั้งหมด 4 ตัว (ณ ตอนนี้ที่ไล่หาดู) โดยมี Class ดังต่อไปนี้
- Jetpack_Notifications
- Jetpack_Post_By_Email
- Jetpack_Subscriptions
- Jetpack_Likes
การแก้ไขก็ง่ายๆ ไม่มีอะไรซับซ้อน (ถ้าเข้าใจ)
โดยเพิ่ม “public static” ไปหน้า function &init() ให้เป็น public static function &init() ในไฟล์ subscriptions.php, post-by-email.php, notes.php และ likes.php ซึ่งอยู่ใน wp-content/plugins/jetpack/modules
เพียงแค่นี้ก็จบปัญหาครับ
มีอะไรใหม่บ้างใน Drupal 8
จากบทความDrupal 8 is Coming เขียนโดย Alex Rayu
ผมขอสรุปสั้นๆ ว่า Drupal 8 ปรับเปลี่ยนอะไรบ้าง
- Core CMS จะใช้การพัฒนาบน Symfony framework
- Theme engine ใช้ Twig PHP template engine
- รองรับ Mobile ตั้งแต่การติดตั้งเลย (HTML 5 and CSS 3) โดยไม่ต้องลง mobile mobule
- รองรับไฟล์ media ต่างๆ โดยไม่ต้องลง media mobule
- มีระบบ Internationalization ที่ดีกว่าเดิม ทำให้สนับสนุน multilingual ได้ดีขึ้น
- ย้ายการตั้งค่าต่างๆ ไปใช้ CMI
ส่วนอื่นๆ คงตามได้จาก Drupal 8 Updates and How to Help ต่อไปครับ
PHP 5.3 เจ้าตายแล้ว และได้เวลา PHP 5.4 เสียที
จาก WordPress Stats จะเป็นว่า PHP 5.2 ยังมีคนใช้อยู่อีกเยอะมาก ซึ่งถูกนำมาใช้งานร่วมกับ WordPress และขณะเดียวกับ w3techs.com ก็รายงานว่า PHP 5.3 เพิ่งจะตีขนาบจนแซง PHP 5.2 ได้ในช่วงต้นปีที่ผ่านมานี้ (PHP version 5.3 is now the most used version, just ahead of 5.2)
แต่สิ่งที่อยากบอกต่อมาก็คือ PHP 5.3 นั้นได้ปล่อยตัว released ในเดือนมิถุนายน 2009 และกว่าจะได้รับความนิยมก็เกือบจะสิ้นสุดการสนับสนุนของ PHP 5.2 พอดีในเดือนธันวาคม 2010 (end-of-life cycle) ซึ่งถือว่าทำได้ค่อนข้างโอเค แต่ในตอนนี้ PHP 5.3 ได้สิ้นสุดการสนับสนุนในเดือนมีนาคม 2013 ที่ผ่านมาไปแล้ว และหลังจากสิ้นสุดการสนับสนุนของ PHP 5.3 นั้น ตัว PHP 5.4 ในตอนนี้มีสถิติคนนำไปใช้ใน production จากการเก็บสถิติของ w3techs.com นั้นมีอยู่ประมาณ 3-4% เท่านั้น และนั้นอาจทำให้เว็บไซต์มากมายอยู่บนความเสี่ยงเรื่องความปลอดภัยจากการไม่ได้รับการสนับสนุนเรื่อง security patch ของตัวภาษา PHP จาก PHP.net อีกต่อไป
http://w3techs.com/technologies/details/pl-php/5/all – ข้อมูล 8/4/2013
ทางแก้ไขที่ดีที่สุดคือนำโค้ดต่างๆ ที่พัฒนามาปรับแก้ไขให้ตรงตาม Migrating from PHP 5.3.x to PHP 5.4.x ของ PHP 5.4 และ upgrade production ไปใช้ PHP 5.4 ต่อไป
- 1
- 2
- 3
- …
- 19
- Next Page »
