[درس] رفع قاعدة بيانات كبيرة بدون آي سكريت
السلام عليكم ورحمة الله وبركاته
هذا أول درس لي في هذا المنتدى و أتمنى أن يكون مفيدا لكم
كثيرا منا تكون لديه قاعدة بيانات كبيرة و يريد استيرادها لكنه يجد المشاكل بسبب حجمها
هذا الشرح سيعطيك الطريقة التي يمكنك بها رفع الملفات ذات الحجم الكبير فقط بواسطة phpmyadmin و بدون استخدام سكريبتات (مثلا bigdump)
لنقوم بذلك يجب أن نغير أربعة قيم :
max_execution_time memory_limit upload_max_filesize post_max_size
و لكن أين نجدها
في ملف php.ini مثلا للذين يستخدمون السيرفر المحلي WAMP يجب الضغط على رمزه الموجود قرب الساعة بالزر الأيسر إختيار php ثم اختيار php.ini
باستخدام خاصية البحث داخل الملف ستجد تلك القيم بسهولة
لكن ما فائدتها و مالقيم التي سنعطيها ؟
max_execution_time: لإعطاء قيمة قصوى لتشغيل السكريبت و يتم إعطاء القيمة بالثانية . و هي مهمة لتجنب اشتغال السكريبت لفترة غير منتهية خصوصا التي يكون فيها خطأ التكرار اللا منتهي . القيمة الإفتراضية هي 30 و يجب تغييرها في حالة مشاهدة الخطأ التالي : “”Maximum execution time of 30 seconds exceeded…” إذا لم تحصل على هذا الخطأ فلا حاجة لتغييرها
memory_limit: لتحديد القيمة التي سيأخدها كل سكريبت من الذاكرة , و هي مهمة لتجنب أن أحد السكريبتات يأخد الذاكرة بالكامل و يجب تغييرها في حالة الخصول على الخطأ التالي : Fatal error: Allowed memory size of XXXXXXXX bytes exhausted (tried to allocate YYYYYYY bytes)” إذا لم تحصل على هذا الخطأ فلا حاجة لتغييرها كذلك
upload_max_filesize : لتحديد الحجم الأقصى للملفات التي ستم رفعها , طبعا هذه القيمة التي يجب أن نغيرها حتى نتمكن من رفع ملفات تفوق 2 ميغا بواسطة phpmyadmin و يجب إعطائها قيمة تفوق حجم ملف قاعدة البيانات (مثلا لو كان حجم قاعة البيانات 20 ميغا نعطيها القيمة 30 ميغا مثلا أو أكثر )
post_max_size: لتحديد أقصى قيمة لحجم البيانات المتوصل بها من نماذج تستخدم طريقة POST . و هي كذلك ضرورية لرفع ملفات ذات حجم كبير و يجب إعطائها قيمة أكبر من قيمة upload_max_filesize مثلا لو أعطينا upload_max_filesize القيمة 30 ميغا يجب أن نعطيها 40
أتمنى أن يكون الشرح مفيدا
بالتوفيق للجميع
لمن يريد تغيير هذه القيم في سيرفر غير محلي فالطريقة تختلف حسب مايتيحه المستضيف و في الغالب تتم باستخدام ملف .htaccess
أي سؤال أنا رهن الإشارة
