(30-03-26, 11:49 PM)nnnjk كتب : [ -> ]بارك الله فيك
فعلت ذلك لاكن لم تنجح عملية الرفع وظهر لي نفس الخطأ اعلاه
ووضعت الكود هذا في ملف htaccess فتعطل المنتدى وظهرا خطأ 500
PHP كود :
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
خطأ 500 طبيعي
احذف هذا السطر الي كتبناه قبل شوي
php_value upload_tmp_dir /home/username/public_html/tmp
على الارجح ان السيرفر او الاستضافه تستخدم open_basedir
حل مؤقت
انشي مجلد التمب في هذا المسار public_html حتى يصير معانا المسار public_html/tmp
بعد ذلك انشيء ملف داخل موقعك وسميه php.ini
وداخل هذا الملف ضع فيه الجملة ذي في نفس الملف الجديد ( php.ini )
upload_tmp_dir = /home/username/public_html/tmp
احفظ و جرّب
مشكور على المجهود
فعلت ذلك لاكن ظهر لي نفس الخطأ بعد تعطيل الرفع الامن وادراج رابط مجلد tmp في php.ini
وجدت السطر في بيانات php
وامامه الجملة no value
(31-03-26, 02:02 AM)nnnjk كتب : [ -> ]وجدت السطر في بيانات php
وامامه الجملة no value
ممتاز جداً :
طيب نرجع للخطوة السابقة
و ننشيء ملف نسميه user.ini بدلاً من php.ini
و اكتب فيه هذا الكود
PHP كود :
upload_tmp_dir = /home/username/public_html/tmp
file_uploads = On
upload_max_filesize = 20M
post_max_size = 20M
غيّر username باسم حساب الاستضافة عندك
[*]انتظر 5 دقائق أو أعد تحميل الموقع لتطبيق .user.ini
[*]افتح info.php مرة ثانية و تأكد أن upload_tmp_dir يظهر المسار الجديد وليس no value
بانتظار ردك .
مشكور
ادرجت الكود في ملف htaccess وملف php.ini وملف user.ini وجميعهم لم يتغير شي
وحدت مسار
open_basedir
على النحو التالي
/home/username/:/tmp:/var/tmp:/opt/alt/php83/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php83/lib/php/
no value
نسخة php هي 5.6 وليس 8.3 كما في المسار المكتوب امام المتغير
(31-03-26, 02:49 AM)nnnjk كتب : [ -> ]مشكور
ادرجت الكود في ملف htaccess وملف php.ini وملف user.ini وجميعهم لم يتغير شي
وجدت مسار
open_basedir
على النحو التالي
/home/username/:/tmp:/var/tmp:/opt/alt/php83/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php83/lib/php/
no value
نسخة php هي 5.6 وليس 8.3 كما في المسار المكتوب امام المتغير
open_basedir
السيرفر عندك مقفل التعديل ✔️
تواصل مع الدعم الفني الخاص بموقع الاستضافة و اكتب هذه الرسالة :
لدي مشكلة في رفع الملفات
يظهر خطأ: failed to write temp file
يبدو أن PHP لا يستطيع الكتابة في مجلد /tmp
هل يمكن التحقق من صلاحيات tmp أو تحديد upload_tmp_dir بشكل صحيح
لكن قبل ذلك خلينا نجري هذه المحاولة :
انشيء صفحة php و الصق فيها الكود
PHP كود :
<?php
file_put_contents('/tmp/test.txt', 'OK');
echo 'done';
?>
[*]اذا اشتغل المشكلة من المنتدى
[*]ما اشتغل المشكلة من السيرفر
سؤال : هل لديك cPanel
إذا كان لديك cPanel
اذهب الى هذا المسار
cPanel → Software → MultiPHP INI Editor → Editor Mode
وغيّر مسار open_basedir من هناك مباشرة بهذا السطر
PHP كود :
/home/username/:/tmp:/var/tmp:/usr/local/lib/php/:/dev/urandom
استبدل username باسم المستخدم الحقيقي عندك .
بعد الحفظ جرب الموقع مباشرة
وإذا استمرت المشكلة أخبرني برسالة الخطأ الظاهرة.
وجدت الخيارات التاليه:
إعدادات السيرفر وخيارات تحقيق الأمثلية:
تفعيل الرفع في الوضع الآمن
إذا كان مزودك (server) يشغل PHP مع قيود الوضع الآمن, عين هذا إلى نعم.
اذا كان مزودك (server) يعمل مع وضع PHP الآمن, ستحتاج إلى تحديد مجلد لديه التراخيص 777 CHMOD 0777 والذي سيتم استخدامه كمجلد مؤقت للرفع. كل الملفات تزال من هذا المجلد بعد الإدخال إلى قاعدة البيانات.
ملاحظة: لا تتضمن القطع المتآخر ('/') بعد اسم المجلد.
/tmp