مشاكل عدم حفظ كميات كبيرة من البيانات المنتجات المتغيرة، أسعار الضرائب، إلخ

توضح هذه الوثيقة كيفية حل المشكلات المتعلقة بعدم حفظ متغيرات المنتجات (product variations)، وأسعار الضرائب (tax rates)، ومجموعات البيانات الكبيرة الأخرى في وووكامرس. عادةً ما تحدث هذه المشكلات بسبب توجيه PHP المسمى max_input_vars، أو الخوادم التي تشغل mod_security، أو قيود إعدادات مستوى الخادم الأخرى. اتبع الخطوات أدناه لتحديد السبب وتعديل إعدادات خادمك.

تتضمن خطوات استكشاف الأخطاء وإصلاحها في هذه الوثيقة تغييرات في إعدادات مستوى الخادم (ملفات php.ini، و.htaccess، وإعدادات وحدات الخادم). إذا لم تكن مرتاحاً لإجراء هذه التغييرات بنفسك، فاتصل بمزود الاستضافة الخاص بك وشاركهم القيم المحددة المدرجة أدناه.

التحقق من المشكلة (Verify the issue)

قبل إجراء تغييرات على إعدادات خادمك، تأكد من أن حدود متغيرات الإدخال هي التي تسبب المشكلة.

أولاً، تحقق من القيمة الحالية لـ max_input_vars على خادمك بالانتقال إلى WooCommerce > Status. يعرض قسم Server environment (بيئة الخادم) القيمة الحالية لـ max_input_vars. إذا كانت هذه القيمة أقل من عدد الحقول في نموذجك (على سبيل المثال، منتج يحتوي على متغيرات كثيرة)، فقد يتم بتر بياناتك بصمت عند الحفظ.

يمكنك أيضاً تثبيت وتفعيل الإضافة المجانية WP Max Submit Protect. تنبهك هذه الإضافة عندما يتجاوز إرسال النموذج حدود متغيرات الإدخال في خادمك. تحقق من أن الإضافة متوافقة مع إصدار ووردبريس الحالي الخاص بك قبل التثبيت.

متغير PHP max_input_vars

يحد توجيه إعدادات PHP max_input_vars من عدد متغيرات الإدخال المقبولة في إرسال نموذج واحد. يتم تعيينه عادةً إلى 1000 افتراضياً. إذا قمت بإرسال نموذج به أكثر من 1000 حقل (على سبيل المثال، منتج يحتوي على متغيرات كثيرة)، يتم بتر البيانات ولا يمكن حفظها.

لزيادة هذا الحد، أضف السطر التالي إلى ملف php.ini الخاص بك:

max_input_vars = 3000

إذا كنت بحاجة إلى إجراء هذا التغيير عبر ملف .htaccess (على سبيل المثال، على مستضيف مشترك)، فاستخدم السطر التالي بدلاً من ذلك:

php_value max_input_vars 3000

راجع توثيق PHP الرسمي لـ max_input_vars لمزيد من التفاصيل حول هذا التوجيه.

تكوين Suhosin (Configure Suhosin)

Suhosin هي وحدة أمان PHP توجد في بعض بيئات الاستضافة الأقدم أو المتخصصة. إذا كانت Suhosin ممكّنة على خادمك، فقد تحتاج إلى زيادة حدود إرسال البيانات بها. يختلف تغيير إعدادات Suhosin من مستضيف إلى آخر، لذا يُفضل عادةً استشارة مزود الاستضافة بدلاً من محاولة إجراء التغييرات بنفسك. يسمح لك بعض المستضيفين بتغيير الإعدادات عبر php.ini، أو suhosin.ini، أو .htaccess.

الشائع أن هذه المتغيرات تحتاج إلى زيادتها:

suhosin.post.max_array_index_length = 256
suhosin.post.max_totalname_length = 65535
suhosin.post.max_vars = 1024
suhosin.post.max_name_length = 256
suhosin.request.max_varname_length = 256
suhosin.request.max_array_index_length = 256
suhosin.request.max_totalname_length = 65535
suhosin.request.max_vars = 1024

بعد حفظ هذه التغييرات، أعد تشغيل الخادم حتى تسري المفعول.

بيئات الاستضافة المشتركة (Shared hosting environments)

في بيئات الاستضافة المشتركة، قد لا يكون ممكناً تحرير ملف php.ini. في هذه الحالة، قد تتمكن من تعيين قيم Suhosin عبر ملف .htaccess:

php_value suhosin.max_array_index_length 256
php_value suhosin.post.max_array_index_length 256
php_value suhosin.post.max_totalname_length 65535
php_value suhosin.post.max_vars = 1024
php_value suhosin.post.max_name_length = 256
php_value suhosin.request.max_varname_length = 256
php_value suhosin.request.max_array_index_length = 256
php_value suhosin.request.max_totalname_length = 65535
php_value suhosin.request.max_vars = 1024

استشر وثائق مزود الاستضافة الخاص بك أو افتح تذكرة دعم للحصول على المساعدة.

الأحرف غير اللاتينية (Non-latin characters)

إذا كنت تستخدم أحرفاً غير لاتينية وتواجه مشكلات في حفظ البيانات، فقم زيادة القيمة التالية عن القيمة الافتراضية وهي 64:

suhosin.request.max_varname_length = 256

وحدة mod_security

يمكن أن تمنع وحدة أباتشي mod_security حفظ البيانات أيضاً. قد تواجه أخطاء 503 إذا كانت mod_security تحظر طلباتك. تواصل مع مزود الاستضافة الخاص بك للحصول على المساعدة في حل هذه المشكلة.

تشمل الحلول البديلة المحتملة ما يلي:

  • اطلب من مزود الاستضافة تكوين mod_security للسماح بمرور البيانات.
  • اطلب من مزود الاستضافة تعطيل mod_security لموقعك أو بواسطة عنوان IP.
  • (لدي Dreamhost فقط) قم بإيقاف تشغيل إعداد Extra web security في لوحة التحكم.

المراجع (References)

يوفر المورد التالي خلفية إضافية حول حدود متغيرات إدخال PHP:

الأسئلة والدعم (Questions and support)

هل لا تزال لديك أسئلة وتحتاج إلى مساعدة؟

تتعلق هذه الوثائق بإضافة وووكامرس المجانية الأساسية (core WooCommerce plugin)، والتي يتم تقديم الدعم لها في منتديات المجتمع الخاصة بنا على WordPress.org. من خلال البحث في هذا المنتدى، ستجد غالباً أن سؤالك قد تم طرحه والإجابة عليه من قبل.

إذا لم تقم بإنشاء حساب على WordPress.org لاستخدام المنتديات، إليك الطريقة (here’s how).

هل كانت المقالة مفيدة ؟ 0 أعضاء وجدوا هذه المقالة مفيدة (0 التصويتات)