وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

رفع مشکل آپلود عکس محصولات پرستاشاپ زمانی که exec خاموش است

در این آموزش نحوه رفع مشکل آپلود عکس محصولات پرستاشاپ زمانی که تابع exec در php غیر فعال است با تغییر در فایل images.inc.php و سطح دسترسی توضیح داده ایم

۲۹ تیر ۱۳۹۴
توسط مصطفی جانقربان
۳ دقیقه زمان مطالعه
۴ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله رفع مشکل آپلود عکس محصولات پرستاشاپ زمانی که exec خاموش است در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
مشکل آپلود عکس محصولات پرستاشاپ به دلیل استفاده این سیستم از تابع خطرناکی به نام exec است. معمولا مدیران هاستینگ برای امنیت بیشتر سرویس خود این تابع را در php غیر فعال می کنند و از آنجایی که پرستاشاپ در قسمت آپلود تصاویر از این تابع استفاده می کند ، سیستم به درستی کار نمی کند. برای رفع این مشکل می توانید از راه کار های زیر استفاده نمایید.

رفع مشکل آپلود عکس محصولات پرستاشاپ با استفاده از فایل images.inc.php :

ابتدا وارد مدیریت هاست خود شوید و سپس به فایل منیجر خود وارد شوید و سپس فایل images.inc.php را در ریشه پرستاشاپ خود ( معمولا public_html ) خود پیدا کنید و ویرایش کنید :
دو خط زیر را پیدا کنید :
کد / دستورfinfo_close($finfo); }
و کد / دستورforeach ($types AS $type)
سپس تمام کد های زیر را ابتدا کپی کنید و سپس بین این دو خط تمام آنها را جایگزین نمایید :
نکته : قبل از هر ویرایشی از فایل خود پشتیبان تهیه کنید تا در صورت وجود مشکل از آن استفاده نمایید.
کد / دستورelseif (function_exists('mime_content_type')) $mimeType = mime_content_type($file['tmp_name']);
elseif (function_exists('exec00')) { $mimeType = trim(exec('file -b --mime-type '.escapeshellarg($file['tmp_name']))); if (!$mimeType) $mimeType = trim(exec('file --mime '.escapeshellarg($file['tmp_name']))); if (!$mimeType) $mimeType = trim(exec('file -bi '.escapeshellarg($file['tmp_name']))); }
if (empty($mimeType) OR $mimeType == 'regular file' OR $mimeType == 'text/plain') $mimeType = $file['type'];
سپس فایل را ذخیره کنید و تست کنید که مشکل شما رفع شد یا خیر

2- درخواست فعال کردن تابع exec را به هاستینگ خود ارسال کنید :

همانطور که قبلا گفتیم تابع exec به دلیل امنیت در سرور مسدود می شود اما می توانید یک درخواست در این مورد به پشتیبانی هاست خود ارسال کنید ، ممکن است آنها این تابع را تنها برای سایت شما باز کنند.

3- سطح دسترسی پوشه آپلود را بررسی کنید :

بررسی کنید که پوشه آپلود پرستاشاپ شما با سطح دسترسی محدود تنظیم نشده است ، برای تست می توانید سطح دسترسی را به 777 تغییر دهید . مسیر /img/p
توجه کنید که سطح دسترسی 777 سطح دسترسی خطرناکی است و در صورتی که با 777 مشکل سایت شما رفع شد از پشتیبانی هاست خود درخواست کنید تا suphp را برای شما فعال کنند تا پرستاشاپ با سطح دسترسی 755 نیز کار کند.

4- از هاست پرستاشاپ استفاده نمایید :

اگر مشکل شما با کد های بالا رفع نشد می توانید از سرویس مخصوص هاست پرستاشاپ استفاده نمایید. در این سرویس ، پرستاشاپ هیچ مشکلی برای استفاده از این تابع ندارد و تمام عکس های محصولات به درستی آپلود می شوند و سعی شده است از راه کار های دیگری استفاده کرد تا مشکلی در امنیت سرور ایجاد نشود.
مقاله قبلی

دیدگاه‌ها (۴)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام

امیر

۱۳۹۵/۸/۶ ۱۵:۰۵:۳۲
پاسخ

سلام و خسته نباشید
بابت روش اول که توضیح دادید من این دو خط رو در فایلی که فرمودید در پرستاشاپ 1.6.0.14 پیدا نکردم فکر میکنم شما ورژن های قدیمی تر گفتین با توجه به تاریخ این پست میشه برای ورژن 1.6.0.14 هم ویرایش این فایل توضیح بدید من نیاز مبرمی به حل این مشکل دارم
با تشکر

مصطفی جانقربان

نویسنده مقاله
۱۳۹۵/۸/۱۷ ۵:۴۸:۱۲
پاسخ

با سلام و عرض ادب
فکر می کنم دیگر این مشکل در نسخه های جدید وجود نداشته باشد ، گزارشی جدیدی برای ما ارسال نشده است ، در هر صورت اطمینان دارید هنوز مشکل آپلود دارید ؟

موفق باشید

امیر

۱۳۹۵/۸/۲۴ ۱۵:۳۳:۵۹
پاسخ

سلام و خسته نباشید
اره من این مشکل خیلی جدی دارم و نیاز به کمک دارم

مصطفی جانقربان

نویسنده مقاله
۱۳۹۵/۱۰/۲۶ ۱۵:۳۸:۴۰
پاسخ

با سلام و عرض ادب
دقیقا با چه خطایی مواجه می شوید ؟ بهتر است در ناحیه کاربری نت آرام عضو شوید و سپس درخواست پشتیبانی ارسال نمایید.
ما حتی مشتریانی که از نت آرام سرویسی ندارند را پشتیبانی می کنیم اطلاعات بیشتر:
https://www.netaram.com/%d9%be%d8%b4%d8%aa%db%8c%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d8%b3%d8%a7%db%8c%d8%aa-%d9%86%da%af%d9%87%d8%af%d8%a7%d8%b1%db%8c-%d8%a2%d9%86/

شاد و سلامت باشید