آپلود فایل php در سرور من کار نمیکنه چرا؟
سلام
دوستان آپلود هیچ گونه فایلی با PHP در سرور من کار نمیکنه.
مشخصات سرور:
دایرکت ادمین
CentOS
Apache + NginX + PHP-FPM
اول یه فرم تماس با ما php ریختم تو هاستم دیدم پیوست فایلش که فایل با PHP آپلود میکنه بدون هیچ اخطاری کار نمیکنه فکر کردم فرم تماس با ما خرابه اما تو phpMyAdmin هم آمدم یه فایل sql رو Import کنم اخطار داد No data was received to import
کلی تو سایت های خارجی گشتم هیچی پیدا نکردم.
هیچ تغییر عجیبی هم تو php.ini ندادم اکثرش تنظیمات پیش فرضش هست من فقط تابع هایی رو به disable_functions اضافه کردم و allow_url_fopen و allow_url_include رو روی Off گذاشتم.
تو یه سایت خارجی پیشنهاد داده بود upload_tmp_dir رو از خالی پیش فرضش روی /tmp بذارم که من گذاشتم اما بازم کار نکرد.
مشکل کجاست؟
- - - Updated - - -
دوستان من همچنان منتظر کمک شما هستم.
هر کی بلده لطفاً دریغ نکنه.
پاسخ : آپلود فایل php در سرور من کار نمیکنه چرا؟
سلام
یعنی هیچ فایل php ران نمیشه و به حالت plain تکست بالا میاد ؟!
پاسخ : آپلود فایل php در سرور من کار نمیکنه چرا؟
نقل قول:
نوشته اصلی توسط
allbert
سلام
یعنی هیچ فایل php ران نمیشه و به حالت plain تکست بالا میاد ؟!
سلام
ممنون که پاسخ دادی ولی آخه یه بار متن رو می خوندی حداقل.
فایل های php ران میشن آپلود فایل توسط php خرابه.
یعنی مثلاً یه فرم آپلود عکس درست میکنیم تو php بعد از ارسال فایل به سرور فایل باید در متغیر سراسری $_FILES باشه اما این متغیر همیشه خالیه.
اسکریپت خاصی هم استفاده نمیکنم که مشکل از اسکریپت باشه کلاً آپلود فایل توسط php خالی بر می گردونه.
حتی تو برنامه هایی مثل phpMyAdmin و RoundCube و... هم نمی تونم هیچ فایلی آپلود کنم.
تو کل نت گشتم و چند سایت مختلف سوال پرسیدم هیچ جا هیچ کس بلد نبود نمی دونم چرا.
پاسخ : آپلود فایل php در سرور من کار نمیکنه چرا؟
کانفیگ php باید برسی بشه اگر میشه قرار بدید php.ini رو دوست عزیز.
پاسخ : آپلود فایل php در سرور من کار نمیکنه چرا؟
نقل قول:
نوشته اصلی توسط
allbert
کانفیگ php باید برسی بشه اگر میشه قرار بدید php.ini رو دوست عزیز.
والا من طبق پیشنهاد های این لینک http://stackoverflow.com/a/3587158 چندین و چند بار فایل php.ini رو بررسی و ویرایش کردم اما باز برای شما میذارم شما بررسی کنید شاید شما مشکلو فهمیدید.
خوشبختانه فایل php.ini اخطار Syntax هم نداره من فقط موندم مشکلش چیه.
اینم فایل: http://hsgolshani.ir/test/php.txt
سروری که منظورم هست این دامنه ای که دادم نیست همینطوری رو یه هاست تست آپلود کردم.
ممنون میشم اگه کسی مشکل این فایل php.ini رو می فهمه که چرا آپلود php کار نمیکنه کمکم کنه.
خدا خیرتون بده.
پاسخ : آپلود فایل php در سرور من کار نمیکنه چرا؟
این رو کامل کپی کنید و در php.ini کپی کنید. ببینید اوکی میشه
http://pastebin.com/Nhry7si8
پاسخ : آپلود فایل php در سرور من کار نمیکنه چرا؟
شما چطوری فایل های خودتون رو تو هاست آپلود می کنید ؟!
پاسخ : آپلود فایل php در سرور من کار نمیکنه چرا؟
نقل قول:
نوشته اصلی توسط
allbert
ببخشید دیر جواب میدم اینترنتم خرابه هی پشت سر هم قطع میشه.الانم شانسکی وصل شده دارم جواب میدم.
ببینید من الان فایلی که شما گذاشتید رو با فایل خودم توسط نرم افزار رایگان WinMerge مقایسه کردم.
تنها تفاوت ها این بود که شما 1.توابع disable_functions رو حذف کردید 2.من به upload_tmp_dir آدرس /tmp رو داده بودم که شما اونو با قرار دادن علامت ; به کامنت تبدیل کردید 3.ویژگی های allow_url_fopen و allow_url_include رو من غیرفعال کرده بودم که شما فعالش کردید.
هر 3 تغییری که شما داده بودید هم امتحان کردم اما درست نشد.
بازم مشکل هست.
پاسخ : آپلود فایل php در سرور من کار نمیکنه چرا؟
شما بعد از هر تغییر اپاچی رو هم ریستارت میکنید ؟! اگر تمایل دارید بدید براتون برسی کنم
پاسخ : آپلود فایل php در سرور من کار نمیکنه چرا؟
نقل قول:
نوشته اصلی توسط
allbert
شما بعد از هر تغییر اپاچی رو هم ریستارت میکنید ؟! اگر تمایل دارید بدید براتون برسی کنم
بله بعد از هر تغییر علاوه بر restart آپاچی و nginx یه بار هم دستورات زیر رو اجرا میکنم:
cd /usr/local/directadmin/custombuild
./build rewrite_confs
service directadmin restart
پاسخ : آپلود فایل php در سرور من کار نمیکنه چرا؟
البته اجرای این دستورات نیاز نیست.
cd /usr/local/directadmin/custombuild
./build rewrite_confs
service directadmin restart
اما به این دو لینک هم یک نگاه بندازید :
https://forum.directadmin.com/showthread.php?t=51897
http://help.directadmin.com/item.php?id=561
پاسخ : آپلود فایل php در سرور من کار نمیکنه چرا؟
نقل قول:
نوشته اصلی توسط
allbert
ممنون لینک دوم که نوشته برای CentOS 7 است اما برای من CentOS 6.7 است.
لینک اول هم خوندم ولی هیچی متوجه نشدم.تا اون جایی که فهمیدم میگه ممکنه از ویژگی اسکن آپلود ماژول suhosin باشه.تو سرور من ماژول امنیتی suhosin نصب و فعال است اما من هیچ تغییری تو تنظیماتش ندادم و همون تنظیمات پیش فرضش است که کاستوم بیلد دایرکت ادمین برام نصبش کرده.
حالا به نظرتون مشکل از کجاست؟
به خدا اعصابم خورد شد 3 روزه درگیر این مشکل آپلود هستم که در همه فرم های آپلود حتی در اسکریپت های معروفی مثل وردپرس متغیر سراسری $_FILES خالی بر می گرده و رسماً هیچی آپلود نمیشه.
پوشه tmp هم چک کردم هیچی توش آپلود نمیشه سطح دسترسی این پوشه هم روی 1777 هم گذاشتم (البته بود خودش از قبل) اما بازم درست نشد.
- - - Updated - - -
دوستان مشکل من هنوز حل نشده.
درسته مبتدی هستم اما دوست ندارم به کسی دسترسی بدم اگر فکر میکنید جایی از سرور باید چک بشه مثل این دوستمون allbert راهنمای دستورات رو بگید خودم انجام میدم.
می خوام مدیریت سرور رو یاد بگیرم به همین دلیل از اول سرور مدیریت نشده خریدم و نمی خوام به هیچ کس بدم مدیریتش کنه.
خیلی ممنون.
- - - Updated - - -
مشکل حل شد.
مشکل از ماژول suhosin بود که وقتی این ماژول رو غیرفعال کردم مشکل حل شد.
فقط من شنیدم این ماژول برای امنیت عالیه به نظرتون نمیشه کاری کرد که این ماژول فعال باشه و مشکل آپلود در php نداشته باشم؟
- - - Updated - - -
دوباره suhosin رو فعال کردم اما این بار رفتم تو فایل usr/local/php55/lib/php.conf.d/10-directadmin.ini و خط suhosin.upload.verification_script رو اولش یه کاراکتر ; اضافه کردم که به کامنت تبدیل بشه و بعد یه بار سرور رو کلاً ری استارت کردم و خدا رو شکر درست شد.
خیلی ممنون از رسیدگی شما.