ارفع حد تحميل الملفات على Nextcloud إلى ما يزيد عن 2 جيجابايت
السماح بتحميل ملفات أكبر حجماً عبر متصفح Nextcloud عن طريق ضبط إعدادات PHP أو Nginx أو Apache والتخزين المؤقت والمهلة الزمنية - والتحقق من الحد الذي يمنع الملف.
إذا توقف تحميل ملف من متصفح Nextcloud عند 2 جيجابايت، فقم بزيادة الحد الأقصى في كل طبقة تعالج الطلب: PHP، وخادم الويب أو الخادم الوكيل العكسي، وأي وحدة تخزين مؤقتة قيد الاستخدام. بالنسبة لملف بحجم 5 جيجابايت، يحتاج إعداد PHP-FPM وNginx النموذجي إلى مساحة تخزين كافية upload_max_filesize = 5G، post_max_size = 6Gبالإضافة client_max_body_size 5Gإلى وقت كافٍ للنقل.
لا يوجد حد أقصى عالمي يبلغ 2 جيجابايت في Nextcloud. يشير دليل الإدارة الحالي إلى أن الحد الأقصى الافتراضي لحجم التحميل هو 512 ميجابايت، بينما يُعتبر الحد الأدنى لحجم التحميل أقل من 2 جيجابايت حدًا أقصى ثابتًا على أنظمة 32 بت. من المرجح أن الخادم الذي يتوقف عند 2 جيجابايت بالضبط قد وصل إلى حد مُحدد مسبقًا أو إلى وسيط. تستخدم الخطوات التالية 5 جيجابايت كمثال؛ استبدلها بأكبر حجم ملف تحتاجه فعليًا.
في كثير من الأحيان، يتم تحديد الحد الأقصى المرئي بواسطة PHP أو خادم الويب وليس بواسطة إعدادات Nextcloud. كما يعتمد الحد الأقصى المدعوم من Nextcloud على نظام التشغيل ونظام الملفات وحصة الحساب ومساحة القرص المؤقتة المتاحة. أما عميل مزامنة سطح المكتب فهو حالة منفصلة: إذ ينقل الملفات على شكل أجزاء أصغر ولا يخضع لنفس حدود التحميل للطلب الواحد المذكورة هنا.
حدد مسار الطلب أولاً. تحقق مما إذا كان المستخدمون يرفعون الملفات عبر المتصفح، أو WebDAV، أو تطبيق سطح المكتب، وما إذا كان الموقع يمر عبر Nginx، أو Apache، أو موازن الأحمال، أو خادم وكيل مزود الاستضافة. إذا لم تكن مسؤولاً عن إدارة الخادم، فأرسل إلى المسؤول حجم الملف الذي فشل رفعه، وطريقة الرفع، ووقت الفشل، وأي رمز خطأ؛ فهو الوحيد المخوّل بتغيير حدود الخادم.
بالنسبة لـ PHP-FPM، عدّل الإعدادات التي يستخدمها خادم PHP-FPM الذي يُشغّل Nextcloud، وليس فقط إعدادات PHP في سطر الأوامر. في Debian أو Ubuntu، يكون المسار الشائع هو `/php/fpm/php` /etc/php/8.2/fpm/php.ini؛ استبدل 8.2`/php/fpm` بإصدار PHP المُثبّت. قد يستخدم توزيعك أو حاويتك مسارًا مختلفًا. يُشير دليل PHP إلى أن `/php/fpm/php` post_max_sizeيجب أن يكون أكبر من `/php/fpm` upload_max_filesize، لذا اترك مساحة كافية لحجم البيانات الإضافية للطلبات.

حدد القيم المناسبة لخادمك. على سبيل المثال، بالنسبة لـ 5 جيجابايت:
upload_max_filesize = 5G
post_max_size = 6G
max_input_time = 3600
max_execution_time = 3600

قيم المهلة الزمنية هي أمثلة وليست متطلبات عامة. قد تتطلب الاتصالات البطيئة والخوادم المشغولة وعمليات التحميل التي يجب تجميعها في النهاية وقتًا أطول. لا تزال إعدادات ذاكرة PHP وحدود موارد كل عامل مهمة: لا تقم بتعيين حد ذاكرة كل عامل PHP-FPM تلقائيًا إلى عدة غيغابايت. توصي إرشادات PHP الخاصة بـ Nextcloud بتخصيص 512 ميجابايت على الأقل من الذاكرة لكل عملية؛ راقب المضيف ومجموعة PHP-FPM الخاصة به قبل رفع حدود الموارد.
احفظ الملف وأعد تشغيل خدمة PHP-FPM المعنية حتى تتمكن من قراءة الإعدادات الجديدة. على سبيل المثال، في نظام يستخدم PHP 8.2، قد تكون الخدمة كالتالي php8.2-fpm:
sudo systemctl restart php8.2-fpm
تختلف أسماء الخدمات. في الحاويات، قم بتحديث التكوين أو الصورة المثبتة وأعد إنشاء حاوية PHP وفقًا لعملية النشر تلك.
بالنسبة لـ Nginx، ضع توجيه حجم الجسم في serverالكتلة النشطة لـ Nextcloud، أو في locationكتلة أكثر تحديدًا قابلة للتطبيق:
client_max_body_size 5G;

ثم تحقق من صحة الإعدادات وأعد تحميل Nginx:
sudo nginx -t
sudo systemctl reload nginx
إذا أبلغ Nginx عن خطأ في بناء الجملة، فقم بإصلاحه قبل إعادة التحميل. إذا كان هناك خادم وكيل أو وحدة تحكم دخول أو بوابة استضافة أخرى أمام الخادم الرئيسي، فقد تفرض حدًا خاصًا بها لحجم نص الطلب؛ لذا ارفع هذا الحد أيضًا. قد يؤدي وجود حد على خادم وكيل المصدر إلى رفض عملية التحميل حتى لو كان مضيف Nextcloud مُهيأً بشكل صحيح.
بالنسبة لـ Apache، تحقق LimitRequestBodyمن إعدادات المضيف الظاهري أو الدليل ذي الصلة. تشير وثائق Nextcloud الحالية إلى أن خادم Apache HTTP الإصدار 2.4.54 والإصدارات الأحدث يضبط هذا التوجيه افتراضيًا على 1 جيجابايت؛ مما قد يمنع تحميل طلب واحد يتجاوز هذا الحجم. حدد حدًا متعمدًا للبايتات مناسبًا للمضيف، أو استخدمه 0فقط إذا كنت لا ترغب عمدًا في تحديد حد لحجم بيانات Apache. قد يحتاج Apache أيضًا إلى مهلات أطول للطلبات، خاصةً إذا mod_reqtimeoutكانت هذه الميزة مُفعّلة.
نعم. يجب أن يتوفر في مجلد التحميل المؤقت في PHP، ومجلد Nextcloud المؤقت المُهيأ، ومجلد Nginx المؤقت client_body_temp_pathمساحة كافية وأن تكون قابلة للكتابة. اترك مساحة كافية للتحميلات المتزامنة، وفي بعض إعدادات التخزين، لتجميع أجزاء الملفات المُحمّلة. تحقق من نظام الملفات ذي الصلة باستخدام الأمر المناسب df -h، وتأكد من أن حساب الخدمة لديه صلاحية الكتابة إلى المجلد المؤقت المُهيأ. لا تُوجه أي إعدادات مؤقتة إلى وحدة تخزين ممتلئة أو للقراءة فقط.
تحقق أيضًا من حصة المستخدم في Nextcloud ومساحة التخزين المتاحة على الخادم. لا يؤدي رفع حد حجم الطلب إلى زيادة حصة المستخدم أو زيادة سعة القرص. لا ترفع الحصة إلا إذا كان الحساب يحتوي على مساحة كافية للملف. إذا حدث الخطأ قرب نهاية التحميل أو أبلغ عن انتهاء المهلة أو خطأ في البوابة، فافحص سجلات PHP وخادم الويب والوكيل وNextcloud قبل رفع المزيد من الحدود. يشير دليل Nextcloud تحديدًا إلى انتهاء مهلة PHP وNginx fastcgi_read_timeoutكأسباب محتملة، بما في ذلك أثناء طلبات MOVE النهائية.
تنبيه هام: قد لا تتحكم إعدادات PHP upload_max_filesizeفي post_max_sizeطلبات PUT لملف واحد عبر WebDAV أو طلبات التحميل المجزأ في Nextcloud بنفس الطريقة؛ ففي هذه الحالات، قد تكون مهلة PHP وخادم الويب هي العامل المحدد. لذا، يُنصح بتشخيص طريقة التحميل قبل تغيير أي قيم لا تنطبق عليها.
ابدأ بملف اختبار واحد يتجاوز الحد القديم بكثير، ثم اختبر ملفًا آخر قريبًا من الحد الجديد. ارفع الملف عبر نفس المتصفح أو البرنامج الذي فشل رفعه في البداية. تأكد من اكتمال النقل، وظهور الملف بالحجم المتوقع، وإمكانية تنزيله أو فتحه. يُعد مؤشر اكتمال التحميل الأخضر في عرض الملفات فحصًا أوليًا مفيدًا، ولكن قارن حجم الملف المخزن أيضًا.

إذا استمر فشل الاختبار، استخدم الخطأ لتحديد مستوى التقييد التالي: يشير خطأ HTTP 413 إلى حد أقصى لحجم نص الطلب، بينما يشير خطأ 504 أو فشل قرب الاكتمال إلى انتهاء المهلة، وتشير رسالة الحصة أو مساحة القرص إلى سعة التخزين. راجع سجلات النظام لنفس الطابع الزمني، ثم عدّل الإعداد المسؤول فقط. حافظ على الحد الأقصى قريبًا من أكبر حجم تحميل متوقع، واحتفظ بمساحة تخزين مؤقتة كافية للأنشطة المتزامنة.
السماح بتحميل ملفات أكبر حجماً عبر متصفح Nextcloud عن طريق ضبط إعدادات PHP أو Nginx أو Apache والتخزين المؤقت والمهلة الزمنية - والتحقق من الحد الذي يمنع الملف.
قم بتعيين حد ذاكرة PHP الذي يستخدمه Nextcloud فعليًا، وأعد تشغيل الخدمة الصحيحة، وتأكد من إعداد 512 ميجابايت في نظرة عامة على المسؤول.
قم بتثبيت حاوية تخزين كائنات متوافقة في Nextcloud باستخدام الواجهة الخلفية S3 الخاصة بها، مع نقطة النهاية الصحيحة، وبيانات الاعتماد، ونطاق الوصول، وخطوات التحقق.
قم بنقل دليل بيانات Nextcloud الخاص بنظام Linux بأمان إلى محرك أقراص خارجي باستخدام تركيب UUID ثابت، ووضع الصيانة، ونسخة تم التحقق منها، والرابط الرمزي للمسار الأصلي.
استعادة الوصول إلى Nextcloud بعد التحديث عن طريق تشخيص أخطاء SQL، والتحقق من اتصال قاعدة البيانات، وإكمال عمليات الترحيل المتقطعة بأمان.
استخدم أمر OCC الخاص بـ Nextcloud لإعادة تعيين كلمة مرور المسؤول من واجهة سطر الأوامر الخاصة بالخادم، مع إرشادات حول أسماء المستخدمين والأذونات وموفري تسجيل الدخول الخارجيين.
قم بإزالة تحذير HSTS الخاص بـ Nextcloud عن طريق تعيين العنوان في Apache أو NGINX أو وكيل TLS الخاص بك، ثم تحقق من استجابة HTTPS العامة بأمان.
تتبع حالات فشل تثبيت التطبيقات من متجر التطبيقات إلى مشاكل في نظام أسماء النطاقات (DNS) أو بروتوكول HTTPS أو الخادم الوكيل أو بروتوكول TLS أو مشاكل في التكوين من خادم Nextcloud نفسه.
انقل العمل على الصور المصغرة إلى جدول زمني مُتحكم به في الخلفية، وقم بتقليص أحجام المعاينة غير المستخدمة، وتحقق من قائمة الانتظار دون إثقال خادم Nextcloud الخاص بك.
ابحث عن الملف أو قاعدة الاستبعاد أو مشكلة الاتصال أو حالة قاعدة بيانات العميل التي تعيق مزامنة Nextcloud، ثم تحقق من عمليات التحميل والتنزيل بأمان.