ปัญหาหลังอัพเกรด PHP 7.1
Declaration of PdfTemplate::addPage()Declaration of PdfTemplate::SetFont()
Declaration of PdfTemplate::Link()
Declaration of PdfTemplate::Image()
พอรันหน้ารายงาน PDF ปุ๊บ เจอ Error message มาเป็นกระบุง!!
แต่อย่าเพิ่งตกใจไป เข้าไปตาม File และ Line ที่ระบุเลย Let's Go++
เอาล่ะ ตรงดิ่งไปที่ บรรทัด 449
???????
ไม่พบอะไรเลย สุดซอย ก็ถอยออกมาก่อน
มาเริ่มจากฟังก์ชั่นแรก ก็คือ Declaration of PdfTemplate::addPage เอาไปค้นใน Google เลย แล้วมองหาเว็บ StackOverFlow
ก็ได้หน้านี้มา (หาอยู่นานมาก >_<)
https://stackoverflow.com/questions/19912591/fpdi-tcpdf-problems
หลังจากลองแก้ไขตามกระทู้นี้ก็พบว่า "ใช้ได้จริงด้วย"
ก็นั่งพินิจพิเคราะห์อยู่นานสองนาน จนแน่ใจว่า "แค่คัดลอกฟังก์ชั่นที่อยู่หลังคำอธิบาย Error มาวางแทนทีแค่นั้นเอง" (ตามรูปด้านบนนี้)
หลังจากครบทั้ง 4 ฟังก์ชั่น ก็จะเจอ Error ตัวใหม่ๆ O_o'
ก็ได้ใจความว่า ชื่อฟังก์ชั่นต้องไม่เป็นชื่อเดียวกับชื่อคลาสนั่นเอง
(เปล่าหรอก จริงๆผมไม่ได้แปล แค่ก๊อบ error message ไปค้นใน Google มา ^O^)
https://stackoverflow.com/questions/37100373/php-deprecated-methods-with-the-same-name
ตามลิงค์ด้านบนนี้ เข้าไปแก้ไขชื่อฟังก์ชั่นที่ซ้ำกับชื่อคลาสเป็น function __construct() ก็หมดเรื่อง แล้วก็ลองไปรันหน้าเว็บใหม่อีกครั้ง
ยัง ยังไม่หมด!!
ต้องตามไปแก้จุดที่เรียกใช้ฟังก์ชั่นที่มีชื่อเดียวกับคลาสเป็นเรียก __construct() แทนด้วย
และแล้ว ก็ผ่านไปอีก 1 งาน ตอนนี้ TCPDF + FPDI ก็สามารถใช้งานบน PHP 7.1 ได้แล้วล่ะ ^O^
ความคิดเห็น
แสดงความคิดเห็น