اذهب إلى المحتوى

السؤال

نشر

السلام عليكم،

أحاول رفع تطبيق ويب مبني باستخدام Laravel + React ولم أستطع ذلك.
يظهر لي أن بعض الـ extensions غير موجودة:

Error: Class "DOMDocument" not found

Error: Class "PDO" not found

لكنها مفعّلة في PHP Select Version.

أنا مبتدئ في عملية الـ deployment وأحتاج إلى مساعدة عاجلة.
العميل ينتظر منذ يومين.

بارك الله فيكم.

Screenshot 2026-02-23 102415.png

Screenshot 2026-02-23 102516.png

Recommended Posts

  • 0
نشر

وعليكم السلام 
 واضح من الصور أن إضافتي pdo و dom غير مفعّلتين فعليًا على نفس إصدار PHP الذي يعمل به الموقع — حتى لو ظهرت مفعّلة في Select PHP Version.
الحل  (في cPanel)
1- تأكد أن الدومين يستخدم نفس إصدار PHP
ادخل إلى:
MultiPHP Manager
وتأكد أن الدومين مربوط بنفس الإصدار الذي فعلت فيه الـ extensions (مثلاً 8.1 أو 8.2).
أحيانًا يتم تفعيل الإضافات في 8.2 بينما الدومين يعمل على 8.1.
2- فعّل الإضافات المطلوبة تحديدًا
في Select PHP Version → Extensions تأكد من تفعيل:
pdo و pdo_mysql (مهم جدًا للارافيل)
 و dom و mbstring و fileinfo و openssl
ثم اضغط Save.
د تشغيل PHP 
من داخل Select PHP Version:
اضغط Reset to default
3- ثم أعد تفعيل الإضافات مرة أخرى
ثم احفظ
أو غيّر إصدار PHP مؤقتًا ثم أعده كما كان.
4- تأكد أن public_html يشير إلى مجلد public
في Laravel يجب أن يكون

public_html → محتوى مجلد public
أو يكون:

Document Root = project/public

بالتوفيق

  • 0
نشر

السلام عليكم ورحمة الله.

المشكلة التي تواجهها ليست في تفعيل الإضافات من واجهة cPanel فحسب، بل في أن PHP المستخدمة فعليا من سطر الأوامر (CLI) قد تكون نسخة مختلفة عن النسخة المفعَّلة في PHP Selector لذا لحل المشكلة أرجو اتباع الخطوات التالية أولا تحقق من أن الإضافتين pdo_mysql وdom مفعَّلتان في نفس نسخة PHP 8.4 التي اخترتها ومن الصورة الأولى يبدو أن pdo_mysql مفعَّلة لكن dom قد لا تكون كذلك، فابحث عنها وفعِّلها.

ثانيا بعد التفعيل،اضغط Save ثم نفِّذ من سطر الأوامر:

php -m | grep -E "pdo|dom"

للتأكد من أن الإضافات محمَّلة فعليا في PHP CLI وإن استمرت المشكلة، تواصل مع دعم الاستضافة لأن بعض بيئات cPanel تتطلب تدخلا من جانبهم لتطبيق الإضافات على CLI.

بالتوفيق إن شاء الله.

  • 0
نشر

الاستضافة لديك تحتوي على على نسختين أو مسارين لـ PHP يعملان في نفس الوقت، وهما نسخة خاصة بالمتصفح والتي قمت بضبطها بنجاح واختيار الإصدار 8.4 وتفعيل الإضافات عليها، وذلك هو الإصدار الخاص بالخادم الذي يستضيف موقعك.

ويوجد نسخة خاصة بسطر الأوامر Terminal/CLI وهي النسخة الافتراضية للسيرفر ولديك بإصدار قديم غير مفعل فيه إضافات مثل PDO و DOM.

لذا يظهر لك خطأ أثناء كتابة أوامر مثل composer install أو php artisan داخل الـ Terminal الخاص بـ cPanel أو عبر الـ SSH، فالسيرفر يستخدم النسخة القديمة.

بالتالي بدلاً من كتابة أمر php العادي، يجب أن تخبر السيرفر بالمسار للإصدار 8.4. جرب تنفيذ الأوامر كالتالي:

/opt/alt/php84/usr/bin/php /opt/cpanel/composer/bin/composer install

و:

/opt/alt/php84/usr/bin/php artisan migrate

وإن لم يعمل مسار /opt/alt/php84/، جرب استخدام /usr/local/bin/ea-php84، فذلك يختلف قليلاً حسب إعدادات شركة الاستضافة.

وفي حال الخطأ يظهر في المتصفح عند فتح رابط الموقع كزائر، فيعني أن إعدادات النطاق Domain تتجاهل النسخة التي قمت بإعدادها، فتوجه إلى لوحة تحكم cPanel الرئيسية.

وابحث عن أداة MultiPHP Manager، ثم تفقد اسم النطاق الخاص بك في القائمة وضع علامة صح بجانبه.

ثم من القائمة المنسدلة في الأعلى أو اليمين، اختر إصدار PHP ليكون alt-php84 أو ea-php84، ثم اضغط على Apply.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...