مشکل آپلود عکس محصولات پرستاشاپ به دلیل استفاده این سیستم از تابع خطرناکی به نام 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[fusion_builder_container hundred_percent="yes" overflow="visible"][fusion_builder_row][fusion_builder_column type="1_1" background_position="left top" background_color="" border_size="" border_color="" border_style="solid" spacing="yes" background_image="" background_repeat="no-repeat" padding="" margin_top="0px" margin_bottom="0px" class="" id="" animation_type="" animation_speed="0.3" animation_direction="left" hide_on_mobile="no" center_content="no" min_height="none"]['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- از هاست پرستاشاپ استفاده نمایید :
اگر مشکل شما با کد های بالا رفع نشد می توانید از سرویس مخصوص هاست پرستاشاپ استفاده نمایید. در این سرویس ، پرستاشاپ هیچ مشکلی برای استفاده از این تابع ندارد و تمام عکس های محصولات به درستی آپلود می شوند و سعی شده است از راه کار های دیگری استفاده کرد تا مشکلی در امنیت سرور ایجاد نشود.
[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]
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/
شاد و سلامت باشید