مشکل آپلود عکس محصولات پرستاشاپ به دلیل استفاده این سیستم از تابع خطرناکی به نام exec است. معمولا مدیران هاستینگ برای امنیت بیشتر سرویس خود این تابع را در php غیر فعال می کنند و از آنجایی که پرستاشاپ در قسمت آپلود تصاویر از این تابع استفاده می کند ، سیستم به درستی کار نمی کند. برای رفع این مشکل می توانید از راه کار های زیر استفاده نمایید.
رفع مشکل آپلود عکس محصولات پرستاشاپ با استفاده از فایل images.inc.php :
ابتدا وارد مدیریت هاست خود شوید و سپس به فایل منیجر خود وارد شوید و سپس فایل images.inc.php را در ریشه پرستاشاپ خود ( معمولا public_html ) خود پیدا کنید و ویرایش کنید :
دو خط زیر را پیدا کنید :
finfo_close($finfo);
}
و
foreach ($types AS $type)
سپس تمام کد های زیر را ابتدا کپی کنید و سپس بین این دو خط تمام آنها را جایگزین نمایید :
نکته : قبل از هر ویرایشی از فایل خود پشتیبان تهیه کنید تا در صورت وجود مشکل از آن استفاده نمایید.
elseif (function_exists('exec00')) if (empty($mimeType) OR $mimeType == 'regular file' OR $mimeType == 'text/plain') سپس فایل را ذخیره کنید و تست کنید که مشکل شما رفع شد یا خیر
همانطور که قبلا گفتیم تابع exec به دلیل امنیت در سرور مسدود می شود اما می توانید یک درخواست در این مورد به پشتیبانی هاست خود ارسال کنید ، ممکن است آنها این تابع را تنها برای سایت شما باز کنند. بررسی کنید که پوشه آپلود پرستاشاپ شما با سطح دسترسی محدود تنظیم نشده است ، برای تست می توانید سطح دسترسی را به 777 تغییر دهید . مسیر /img/p توجه کنید که سطح دسترسی 777 سطح دسترسی خطرناکی است و در صورتی که با 777 مشکل سایت شما رفع شد از پشتیبانی هاست خود درخواست کنید تا suphp را برای شما فعال کنند تا پرستاشاپ با سطح دسترسی 755 نیز کار کند. اگر مشکل شما با کد های بالا رفع نشد می توانید از سرویس مخصوص هاست پرستاشاپ استفاده نمایید. در این سرویس ، پرستاشاپ هیچ مشکلی برای استفاده از این تابع ندارد و تمام عکس های محصولات به درستی آپلود می شوند و سعی شده است از راه کار های دیگری استفاده کرد تا مشکلی در امنیت سرور ایجاد نشود.
elseif (function_exists('mime_content_type'))
$mimeType = mime_content_type($file
{
$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'])));
}
$mimeType = $file['type'];
2- درخواست فعال کردن تابع exec را به هاستینگ خود ارسال کنید :
3- سطح دسترسی پوشه آپلود را بررسی کنید :
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/
شاد و سلامت باشید