أيمن زفانين نشر 23 فبراير أرسل تقرير نشر 23 فبراير السلام عليكم، أحاول رفع تطبيق ويب مبني باستخدام Laravel + React ولم أستطع ذلك. يظهر لي أن بعض الـ extensions غير موجودة: Error: Class "DOMDocument" not found Error: Class "PDO" not found لكنها مفعّلة في PHP Select Version. أنا مبتدئ في عملية الـ deployment وأحتاج إلى مساعدة عاجلة. العميل ينتظر منذ يومين. بارك الله فيكم. 2 اقتباس
0 Entesar Khaled نشر 23 فبراير أرسل تقرير نشر 23 فبراير وعليكم السلام واضح من الصور أن إضافتي 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 بالتوفيق 1 اقتباس
0 عبد الوهاب بومعراف نشر 24 فبراير أرسل تقرير نشر 24 فبراير السلام عليكم ورحمة الله. المشكلة التي تواجهها ليست في تفعيل الإضافات من واجهة 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. بالتوفيق إن شاء الله. 1 اقتباس
0 Mustafa Suleiman نشر 25 فبراير أرسل تقرير نشر 25 فبراير الاستضافة لديك تحتوي على على نسختين أو مسارين لـ 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. 1 اقتباس
السؤال
أيمن زفانين
السلام عليكم،
أحاول رفع تطبيق ويب مبني باستخدام Laravel + React ولم أستطع ذلك.
يظهر لي أن بعض الـ extensions غير موجودة:
Error: Class "DOMDocument" not found
Error: Class "PDO" not found
لكنها مفعّلة في PHP Select Version.
أنا مبتدئ في عملية الـ deployment وأحتاج إلى مساعدة عاجلة.
العميل ينتظر منذ يومين.
بارك الله فيكم.
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.