- الحالة
- محلولة
نظرة عامة على المشكلة
أثناء تثبيت WPML على خادم Ubuntu الإصدار 15.10 أو أقدم والخوادم التي تعمل بنظام CentOS، يظهر خطأ فادح مثل Call to undefined function simplexml_load_file(....
يُرجى ملاحظة أنه إذا واجهت نفس هذا الخطأ عند استخدام نظام تشغيل خادم آخر، فقد يكون السبب هو نفسه.
يحدث هذا في السيناريو التالي:
- ثبّت أو حدّث إلى Ubuntu 15.10 (أو أقدم) أو CentOS.
- شغّل الأمر
apt-get upgrade. - أنشئ موقعاً باستخدام WPML.
حل بديل مؤقت
هناك حلان بديلان مؤقتان لهذه المشكلة:
- ثبّت الحزمة 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 غير مُثبّتة.
يبدو أن عدم وجود الإضافة قد يكون سهواً من قِبل مشرفي المستودعات، والذي يمكن إصلاحه عن طريق تثبيت الإضافة يدوياً.
أيضاً، لا تحدث المشكلة مع جميع إصدارات Ubuntu، والتي يبدو أنها تحتوي على مراجع للإضافات.