it-swarm.asia

تكوين الدليل المؤقت

لقد قمت مؤخرًا بنقل موقع من مضيف محلي إلى خادم افتراضي خاص. لقد تمكنت من جعل الملفات العامة والخاصة قابلة للكتابة. ومع ذلك ، لست متأكدًا من مكان العثور على المجلد المؤقت وكيفية تغيير الأذونات. أستقبل هذه الرسالة باستمرار:

الملف المحدد المؤقت: // file3Hl91E لا يمكن نسخه ، لأنه لم يتم توصيف دليل الوجهة بشكل صحيح. قد يكون هذا بسبب مشكلة في أذونات الملف أو الدليل. يتوفر المزيد من المعلومات في سجل النظام.

أنا أستخدم Virtualmin ، Drupal 7 ، وخادم دبيان. الدليل المؤقت الحالي هو /tmp.

49
Jasmine Ahmed

تحقق من المسؤول -> التكوين -> الوسائط -> نظام الملفات لتخصيص مسار tmp. تأكد من استخدام المسارات النسبية والحصول على الامتيازات المناسبة لمستخدم Apache.

أنا شخصياً أحب هذه المقالة إصلاح تحميل الملف . لديه ملاحظات جيدة. عملت معي.

لقد قمت مؤخرًا بتنزيل موقعي على جهاز كمبيوتر Mac. يحدث أن في جهاز Mac الخاص بي كنت أستخدم mod_userdir لأباتشي ونسيت ذلك في /etc/Apache2/users/nameofuser.conf أحتاج إلى ضبط AllowOverride All وإلا ، فسيكون لدي الرسالة التالية:

تعذر نسخ الملف المحدد المؤقت لأنه لم يتم تكوين دليل الوجهة بشكل صحيح.

47
cayerdis

في الإعدادات الخاصة بك. php

$conf['file_temporary_path'] = '/tmp';

سيعمل هذا على أنظمة يونيكس 99٪ من الوقت.

عادة ما يكون دليل/tmp موجودًا على أنظمة UNIX بأذونات مفتوحة ، وهو موجود خصيصًا للملفات المؤقتة وغالبًا ما يتم إعداده لتحسين الأداء.

يمكنك التحقق من الأذونات عن طريق تشغيل ls -al /tmp في سطر الأوامر.

إذا كنت مهتمًا بمزيد من القراءة حول هذا ، فراجع https://en.wikipedia.org/wiki/Temporary_folder

18
chim

من المهم أن نفهم أنه يمكن أن توجد مشكلة أذونات في كل من الدليل المؤقت المحدد الخاص بك (والذي تم تعريفه في admin/config/media/file-system) وفي المجلد حيث سيتم نسخ هذا الملف المؤقت. لقد رأيت هذا الخطأ عدة مرات وعادةً لا يمثل مشكلة في المجلد المؤقت ، ولكن المجلد الأخير حيث يتم نسخ هذا الملف بعد يعيشون في المجلد المؤقت.

تأكد أيضًا من تعيين مسار نظام الملفات العام بشكل صحيح.

17
sheldonkreger

لقد واجهت هذه المشكلة بالضبط وتأكدت من استخدام المسار النسبي (مواقع/افتراضي/ملفات/tmp) لموقع مجلد tmp الخاص بي كما هو مقترح وقمت أيضًا بتغيير الأذونات على مجلد tmp للتأكد من أنه قابل للكتابة بواسطة Apache ولكن مشكلتي لا تزال موجودة . لذلك قررت التحقق من رسائل السجل (التقارير >> رسائل السجل الأخيرة) لمعرفة ما إذا كان يمكنني الحصول على فهم أفضل لما كانت المشكلة. من خلال القيام بذلك ، تلقيت رسالة أكثر تحديدًا:

تعذر تعيين أذونات الملف على public: // js.

دفعني هذا إلى التحقق من الأذونات على مجلد js في المواقع/الافتراضي/الملفات ، وكما اتضح أن Apache لا يمكنه الكتابة إليه ، فبتغيير الأذونات إلى 775 في هذا المجلد ، تخلصت من رسالة الخطأ. لذلك أقترح عليك التحقق من الأذونات لجميع المجلدات الفرعية في المواقع/الافتراضي/الملفات وليس فقط مجلد tmp إذا لم تقم بحل مشكلتك حتى الآن. فقط اعتقدت أنني سأشارك هذه المعلومات.

7
Andew

يمكنك العثور على إعدادات نظام الملفات في admin/config/media/file-system قم بتغييرها إلى/tmp

كما يمكنك التحقق من المشرف/التقارير/الحالة لأي مشكلة في الإعدادات

حول/tmp إذن يمكنك منحه 755 وستجده في/public_html

5
Ahmed

يمكن أن تكون رسالة الخطأ مضللة في بعض الأحيان

إذا كان يشير إلى أن المشكلة تتعلق بدليل الوجهة ، فمن المحتمل أن Apache ليس لديه أذونات للكتابة إلى المجلد الفرعي للمواقع/الافتراضي/الملفات التي Drupal يريد tot وضع الملف فيها.

الحل الجيد هو جعل مستخدم Apache مالكًا لجميع الملفات والأدلة ضمن المواقع/الافتراضي/الملفات

cd /path/to/sites/default
Sudo chown -R _www:_www files

أو شيء مماثل يجب أن يعيد حل مشاكل دليل الوجهة. تحقق مرة أخرى من أن المالك لديه أذونات الكتابة والتنفيذ على كافة الأدلة الفرعية.

2
chim

دليل الملفات: استكشاف أخطاء خوادم الويب المستندة إلى Apache =

إذا كانت ملفات الدليل "غير مملوكة" لخادم الويب ، فهناك طريقتان للمتابعة. تفترض هذه الإرشادات أن لديك وصول Shell إلى خادم الويب. إذا لم يكن لديك وصول إلى Shell ، فيرجى الاتصال بموفر الاستضافة الخاص بك للحصول على دعم إضافي.

من الناحية المثالية ، ستتمكن من تغيير "مالك" ملفات الدليل ليتناسب مع اسم خادم الويب. على خادم يعمل بنظام التشغيل Unix أو Linux ، يمكنك التحقق من "من" يعمل خادم الويب كما هو عن طريق إصدار الأوامر التالية:

$ ps aux  |grep Apache # for Apache 2.x
$ ps aux  |grep httpd # for Apache 1.x

بناءً على خادم الويب الخاص بك ، سيعيد أحد هذه الأوامر سلسلة من الخطوط مثل هذا:

www-data 13612  0.1  0.9  50640 20340 ? S 12:29   0:08 /usr/sbin/Apache2 -k start

العمود الأول في النص الذي تم إرجاعه هو "المستخدم" الذي يعمل عليه خادم الويب. في هذه الحالة يكون المستخدم هو www-data. لجعل دليل الملفات الخاص بك قابلاً للكتابة بواسطة خادم الويب ، تحتاج إلى إعادة تعيين ملكيته باستخدام الأمر التالي:

$ chown -R www-data sites/default/files
$ chmod -R 0700 sites/default/files

إذا لم يكن لديك أذونات كافية على الخادم الخاص بك لتغيير ملكية المجلد ، فإن الخيار الأفضل التالي هو توفير الوصول للكتابة الجماعية إلى المجلد باستخدام الأمر التالي:

$ chmod -R 0770 sites/default/files

يجب أن تكون قادرًا أيضًا على ضبط أذونات الدليل باستخدام برنامج FTP كما هو موضح أعلاه.

بمجرد الانتهاء من هذه الخطوات ، تأكد من تعيين الأذونات المناسبة بالانتقال إلى إدارة -> التقارير -> تقرير الحالة. انتقل إلى القسم المسمى "نظام الملفات" وتأكد من صحة إعداداتك الآن.

المصدر: دليل الملفات

2
Sukhjinder Singh

في بعض الحالات ، يمكن إصلاح ذلك بسهولة عن طريق حذف مجلدي "ctools" و "js" ضمن الملفات الافتراضية. يقوم النظام بإعادة إنشاء هذه المجلدات إذا لزم الأمر. في بعض الأحيان عند إجراء تثبيت جديد لموقع موجود ، تتسبب هذه المجلدات الموجودة بالفعل في حدوث مشكلات. أيضًا إذا لم يعمل CSS الخاص بك بعد إجراء تثبيت جديد لموقع موجود ، فيمكن أيضًا إصلاحه عن طريق حذف هذه الملفات والسماح drupal إعادة إنشائها.

2
Paul Trotter

أنا لا أحب أيًا من الإجابات الحالية ، لذا سأبدأ بنفسي على الأرجح سأقوم بتحديثها بمرور الوقت. بشكل أساسي مع أوامر Shell.

الآن ، قم بتشغيل هذا من sites/example.com:

MYSITE=example.com
FILES=sites/$MYSITE/files  
# CSS and JS might also cause trouble and advagg has its own dirs
TMPDIRS=$FILES/tmp $FILES/js $FILES/css $FILES/advagg_*
drush vset file_temporary_path $FILES/tmp # seems better than using /tmp
drush vset file_directory_temp $FILES/tmp
cd $(drush drupal-directory)   
chown www-data -R $TMPDIRS
chmod 755 -R $TMPDIRS
1
kqw

بلدي القديم و التكوين إشكالية

chmod 664 -R /var/drupal-bc/sites/default/files
chmod 664 -R /var/drupal-bc/sites/default/private

drw-rw-r-- 2 www-data www-data  4096 Jul 31 12:35 files
drw-rw-r-- 3 www-data www-data  4096 Jul  5 15:08 private

بلدي الجديد و العمل بشكل جيد التكوين

chmod 774 -R /var/drupal-bc/sites/default/files
chmod 774 -R /var/drupal-bc/sites/default/private

drwxrwxr-- 2 www-data www-data  4096 Jul 31 12:35 files
drwxrwxr-- 3 www-data www-data  4096 Jul  5 15:08 private
1
Claudio Lente

مصدر آخر للخطأ هو أنه لا يمكن الكتابة إلى مجلد الملفات. في حالتي ، قمت بحلها باستخدام:

$chmod 777 sites/default/files/pictures/
1
freeman

واجهت نفس المشكلة بعد الانتقال من خادم إلى آخر.

جربت كل شيء مقترح هنا ، وضع المجلدات على 755 وما إلى ذلك.

تم تعيين مجلدي المؤقت على "" tmp7zXhVVCO "وقام بالفعل بنسخ ملفات التثبيت بشكل جيد ، بعد كل إعادة محاولة رأيت فيها ملف temp يتم نسخه هناك ، لكن التثبيت ظل فاشلاً.

لكن المشكلة تكمن في أن المالك ليس هو الشخص الذي يزيل 777 هذا الخطأ ، ولكننا نعلم جميعًا أن هذه ليست طريقة للذهاب في مواقع الإنتاج.

ما يجب عليك فعله هو تغيير مجلدك المؤقت إلى أي شيء آخر ، مثل "مؤقت" أو أي شيء يناسبك ، طالما أنه غير موجود بعد ، drupal سيتم إنشاء هذا المجلد الجديد بحقوق Apache ، وليس مستخدم حقوق ، وستكون مشكلتك تم حلها.

1
Kevin G

إذا واجهت هذه المشكلة باستخدام Pantheon واستمرت في الحصول على الخطأ بعد تعيين مسار (مسارات) دليل الملفات (المؤقتة) ، فقد تحتاج أيضًا إلى تبديل وضع الاتصال على لوحة تحكم مثيل dev من Git إلى SFTP.

قد يكون موقعك Drupal يحاول حفظ الملفات في دليل يديره Git (على سبيل المثال ، إذا كنت تقوم بتغيير إعدادات التخطيط وما شابه في سمة السمات التكيفية). للقيام بذلك ، قم بالتبديل إلى SFTP. بمجرد حفظ الملفات ، يمكنك التبديل مرة أخرى إلى Git ، وستطالبك لوحة المعلومات بتنفيذ التغييرات التي تم إجراؤها على الخادم.

1
Kay V

كان لدي نفس المشكلة في الترحيل. لدي chmod 777 جميع المواقع/الافتراضي/الملفات ولكن الخطأ لا يزال يحدث. أغير إذن 775 على المواقع/الافتراضي/الملفات واختفت الرسالة. لم أكن مشكلة مسار خاص ، ملكي/var/tmp ولكن إذن 775.

1
Wood

من التكوين -> الوسائط -> نظام الملفات قمت بإزالة/temp-catalogue. بعد ذلك لم يكن لدي أي مشاكل.

1
Filip

كان لي نفس المشكلة.

كنت أستخدم IIS في Windows. وأخيرًا كانت المشكلة بالنسبة للأذونات في مواقع المجلدات/الافتراضي/الملفات ، ومن الواضح في المواقع/الافتراضي/الملفات/tmp.

أخيرا أعطيت مرة أخرى "أذونات كاملة" للمجلدات ، وعملت.

مع تحياتي

1
jorge_vicente

تعتمد الأذونات الصحيحة للمجلد المؤقت على تكوين خادم الويب الخاص بك.

في حالة تشغيل Drupal مع PHP كوحدة نمطية لخادم الويب ، على سبيل المثال Apache ، عندما يكون المستخدم الذي تم تعريفه في ملف تكوين خادم الويب الرئيسي باستخدام توجيه المستخدم يكتب الوصول إليها.

٪ grep -i "user" /etc/httpd/conf/httpd.conf

اباتشي المستخدم

1
Taras