- สถานะ
- แก้ไขแล้ว
ภาพรวมของปัญหา
ในระหว่างการติดตั้ง WPML บน Ubuntu Server เวอร์ชัน 15.10 หรือเก่ากว่า และเซิร์ฟเวอร์ที่ใช้ CentOS จะเกิดข้อผิดพลาดร้ายแรงเช่น Call to undefined function simplexml_load_file(...
โปรดทราบว่าหากคุณพบข้อผิดพลาดเดียวกันนี้เมื่อใช้ระบบปฏิบัติการเซิร์ฟเวอร์อื่น สาเหตุก็อาจมาจากเรื่องเดียวกันได้
ปัญหานี้จะเกิดขึ้นในสถานการณ์ต่อไปนี้:
- ติดตั้งหรืออัปเดตเป็น Ubuntu 15.10 (หรือเก่ากว่า) หรือ CentOS
- เรียกใช้คำสั่ง
apt-get upgrade - สร้างเว็บไซต์ด้วย WPML
วิธีแก้ปัญหาชั่วคราว
มีวิธีแก้ปัญหาชั่วคราว 2 วิธีสำหรับปัญหานี้:
- ติดตั้งแพ็คเกจ php7.0-xml โดยใช้ตัวจัดการแพ็คเกจ Synaptic ซึ่งมี SimpleXml รวมอยู่ด้วย
- หากคุณใช้ Ubuntu ร่วมกับ ppa: ondrej/php PPA ให้เรียกใช้คำสั่งต่อไปนี้จากเทอร์มินัล:
sudo add-apt-repository -y ppa:ondrej/php && sudo apt update && apt install -y php7.0-mbstring php7.0-zip php7.0-xml
หากคุณใช้ PHP เวอร์ชันที่ใหม่กว่า ให้แทนที่ 7.0 ทั้งหมดด้วยเวอร์ชันของ PHP ที่ติดตั้งไว้ (เช่น
sudo add-apt-repository -y ppa:ondrej/php && sudo apt update && apt install -y php7.1-mbstring php7.1-zip php7.1-xml)
หลังจากรีสตาร์ท Apache ปัญหานี้ควรได้รับการแก้ไข
ที่มา: Stackoverflow: PHP 7 simpleXML
เราพบว่าใน Ubuntu บางเวอร์ชัน (เช่น Ubuntu 15.10) ไม่ได้ติดตั้งส่วนขยาย simplexml ไว้
ดูเหมือนว่าการไม่มีส่วนขยายนี้อาจเป็นความผิดพลาดจากผู้ดูแล repository ซึ่งสามารถแก้ไขได้โดยการติดตั้งส่วนขยายด้วยตนเอง
นอกจากนี้ ปัญหานี้ไม่ได้เกิดขึ้นกับ Ubuntu ทุกเวอร์ชัน ซึ่งดูเหมือนจะมีการอ้างอิงถึงส่วนขยายดังกล่าว