سلام من یه سایت دارم فایل هایی که از طریق سایت آپلود میکنم داخل ویندوز سرورم قرار میگیره اما وقتی میخوام از طریق سایت که روش کلیک میکنم ببینم اررور500 میده در حالی که اگه یه فایل و دستی داخل سرور بزارم از مرور گر میشه دید. مشکلش با فایل های آپلود شده هست. پرمیژن هم دادم به پوشه storage اما همچنان فایل های اپلود شده رو نشون نمیده کس میدونه علت چیه
سلام
مشکلات مربوط به ارور 500 در وب سایتها معمولاً به دلیل مشکلات داخلی سرور یا کد برنامهنویسی وب سایت به وجود میاد. در مورد مشکل شما ممکنه دلایل زیادی وجود داشته باشه که موجب این ارور میشه اما اگر بخوام کلی بگم بهتره چند مورد زیر رو بررسی کنی و در نهایت باز هم مشکل داری کدهات رو به اشتراک بذاری ببینیم مشکل از کجاس.
بررسی فایلهای لاگ: ویندوز
این فایلها در مسیر C:\inetpub\logs\LogFiles\W3SVC1\
هستن البته گفتم ویندوز. اطلاعات دقیقتری از این فایلها میتوانی شناسایی کنی
اطمینان از درستی پرمیژنها:
مطمعن شو که پرمیژنها برای پوشهها و فایلهای مربوط به آپلود، مثلاً پوشه storage
، صحیح باشن.
استفاده از اطلاعات لاگ PHP:
اگر از PHP استفاده میکنی، ممکنه اطلاعات لاگ PHP به شما کمک کنه. این اطلاعات میتونه در فایل php_error.log
یا تنظیمات PHP خود شما باشه.
استفاده از ابزار Debugging:
ابزارهای debugging برنامههای PHP مثلXdebug میتوانه به شما در رفع مشکلات کمک کنه. با استفاده از این ابزارها میتوانی متغیرها، فراخوانی (call stack) و اطلاعات دیگه رو بررسی کنی.
استفاده از Developer Tools در مرورگر:
Developer Tools در مرورگرها (مانند Chrome DevTools یا Firefox Developer Tools) میتوانه اطلاعات مفیدی ارائه بده. در تب Network میتوانید جزئیات بیشتری از درخواستها و پاسخهای سرور ببینی.
بررسی حافظه:
گاهی اوقات مشکلات حافظه نیز میتوانه این ارور را ایجاد کنه.
اگر با این کارها مشکل حل نشد کدهاتون رو بذارید ببینیم.
موفق باشید
درمورد گزینه دو قبلش که پرمیژن نداشت حتی فایل هایی که خودم داخل سرور میگذاشتم رو نشون نمیدادبعدش که پرمیژن خواندن و اجرا برای گروه IUSER دادم اونا رو نشون داد.این گروه خودش بود و من اضافه نکرده بودم. مورد یک هم نگاه کردم چیزی دست گیرم نشد. اینم یگم که کدهای من روی سرورلینوکس هم هست. و اونجا نشون میده اما تو ویندوز سرور مشگل دارم. فکر میکنم مشکل از گزینه دو باشه. میشه بیشتر توضیح بدید که پرمیژن چی باید باشه؟برای کدوم گروه کاربری؟درضمن فایلایی که دستی میزارم Ownerشون administratorهست و فایلایی که کد بک میسازه Ownerشون اسمی که برای بک اند دادم میزاره
این مورد درست شد برای ذخیره موقت فایل های اپلود شده در php که به طور موقت در پوشه C:\Windows\Temp هست یه فولدر موقت دیگه ساختم در C:\php\upload_dir و فایل php.ini هم بخش upload_tmp_dir=C:\Program Files\PHP\v7.4\upload_dir را تغییر دادم و ذخیره کردم و سپس پرمیژن full controll برای یوزرهای IIS_IUSRS و IUSR در این فولدر موقت و فولدرstorage که فایل هابه طور دایم در آن ذخیره میشود قراردادم.
https://stackoverflow.com/questions/29746084/http-error-500-50-after-upload-a-file-in-laravel-on-iis
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟