نفس ملفات المشروع اشتغلت على جهازك لكن بعد الرفع الصفحة طلعت خطأ ده مش معناه إن الخادم بيشتغل بقواعد غامضة غالبا فيه فرق بين بيئة التطوير وبيئة التشغيل محتاج تحدده بدل تغيير الكود بالتخمين
قارن الإصدارات والإضافات المطلوبة
راجع إصدار اللغة وإضافاتها واعتماديات المشروع ممكن جهازك يدعم صيغة أحدث من إصدار الخادم أو فيه إضافة PHP ناقصة استخدم توثيق إصدار المشروع نفسه مش أول شرح تلاقيه
الأوامر دي للقراءة وبتساعدك تجمع معلومات في بيئة PHP و Node حسب الأدوات المستخدمة عندك
php -v
php -m
node --version
npm --versionراجع اسم الملف بحروفه كاملة
بعض أنظمة الملفات بتميز بين الحروف الكبيرة والصغيرة فملف اسمه Logo.png مش لازم يتطابق مع مسار مكتوب logo.png نفس الفكرة تنطبق على أسماء ملفات الكود والاستيراد
اختار تسمية ثابتة وراجع الاسم المحفوظ في Git نفسه ومتكتفيش إن الملف اتفتح على جهازك
Actual file: images/Logo.png
Requested path: images/logo.pngالمسار المحلي مش هو رابط الموقع
مسار زي C:/projects/site/images/logo.png يخص جهازك ومش عنوان صورة يقدر متصفح الزائر يطلبه استخدم نظام توليد الروابط أو إدارة الأصول في مشروعك وراجع لو التطبيق منشور داخل مسار فرعي
الإعدادات الخاصة بكل بيئة
اسم قاعدة البيانات وعنوان التطبيق وطريقة البريد والتخزين ممكن يختلفوا بين اللوكال والخادم راجع القيم المطلوبة من غير نسخ أسرار بيئة لبيئة بشكل عشوائي
في Laravel بعد تخزين الإعدادات مؤقتا لازم تتعامل مع config بالطريقة الموصى بيها ومتستخدمش env في كود التطبيق خارج ملفات الإعدادات على أساس إنه هيفضل يقرأ ملف البيئة مباشرة
ملفات المصدر غير ملفات البناء
لو المشروع بيستخدم أداة بناء فالخادم محتاج ناتج البناء المطلوب مش ملفات CSS و JavaScript المصدر فقط تأكد إن الإصدار المرفوع فيه Manifest والملفات اللي بيشير ليها
احتفظ بملف القفل للاعتماديات واستخدم تثبيت مناسب ليه علشان متبنيش الإصدار باعتماديات مختلفة عن اللي اختبرتها ومتنسخش node_modules بين أنظمة مختلفة كحل سريع
راجع صلاحيات الكتابة ومكان الجذر العام
التطبيق ممكن يحتاج يكتب سجلات أو ملفات مؤقتة في مسارات محددة اديله الصلاحيات المطلوبة هناك بدل فتح صلاحيات المشروع كله للجميع
في Laravel جذر الويب لازم يشير لمجلد public مش لجذر المشروع اللي فيه الإعدادات والملفات الخاصة
شوف أول طلب فشل
لو الصفحة نفسها فتحت لكن الشكل ناقص افتح Network وشوف ملفات CSS و JavaScript هل رجعت 404 ولو الصفحة رجعت 500 راجع سجل التطبيق في نفس وقت الطلب
متفعلش عرض التفاصيل الداخلية لكل الزوار علشان تشخص مشكلة وبعد الإصلاح جرب من جلسة جديدة ومن رابط مباشر مش بس الصفحة الرئيسية
اعمل قائمة تحقق خاصة بمشروعك
سجل الإصدارات المطلوبة وخطوات البناء والمسارات القابلة للكتابة وطريقة تحديث الإعدادات وخطة الرجوع لإصدار سابق بعد كده النشر يبقى خطوات قابلة للتكرار بدل تجربة مختلفة كل مرة