PDA

View Full Version : سوال: ارور open_basedir هنگام استفاده از اسکریپت timthumb



jsa_flora
چهارشنبه 10 اسفند 1390, 11:34 صبح
سلام دوستان
من از هاست رایگان 000webhost استفاده می کنم و همچنین از یه قالبی که برای نمایش تصاویر شاخص (featured image) از اسکریپت timthumb استفاده می کنه، منتها چون هاست رایگانه روی open_basedir محدودیت اعمال شده؛
open_basedir => /home/:/usr/lib/php:/tmp
واسه همینم تو صفحه اصلی سایت بالای هر تصویر شاخص ارور زیر نشون داده میشه:
Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/usr/local/apache/htdocs/wp-content/uploads/2012/02/image-name.png) is not within the allowed path(s): (/home/:/usr/lib/php:/tmp) in /home/My-username/public_html/wp-content/themes/My-theme-name/custom-function.php on line 854
از هاست هم پرسیدم، گفت باید کاری کنی اسکریپتت پوشه پایه رو اینجوری بشناسه:
/home/My-username/
که نام کاربریم مثلا اینه a7698567
حدودا یک هفتست دارم تو گوگل سرچ می کنم و راه حلهای مختلفو تست می کنم؛ که اگه شماها کمک کنین دیگه وارد هفته دوم نمیشم :-|
تشکر

MMSHFE
چهارشنبه 10 اسفند 1390, 12:09 عصر
کد اسکریپت timthumb رو میشه بگذارین؟

jsa_flora
چهارشنبه 10 اسفند 1390, 12:52 عصر
اینقدر درگیر اسکریپت timthumb بودم که اینو تست نکرده بودم؛:خجالت:
فقط اون اسکریپت نیست، کلا هر موقع که بخوام از عکسی که روی هاستم بارگذاری کردم استفاده کنم این ارور میاد بالای اون عکس؛
یعنی استفاده از گزینه "بارگذاری از رایانه" به جای "بارگذاری از نشانی"

MMSHFE
چهارشنبه 10 اسفند 1390, 13:07 عصر
دوست عزیز، اسکریپتهای طولانی رو attach کنید تا پستها طولانی نشه. علی الحساب کد این فایل رو هم میشه بگذارین:
home/My-username/public_html/wp-content/themes/My-theme-name/custom-function.php/
چون ظاهراً خطا از این فایل گرفته شده. timthumb مشکلی نداره انگار (حداقل ظاهرش اینطور نشون میده).

jsa_flora
چهارشنبه 10 اسفند 1390, 13:28 عصر
83478
امیدوارم که درست ضمیمش کرده باشم:لبخند:

jsa_flora
پنج شنبه 11 اسفند 1390, 18:50 عصر
جناب MMSHFE کلی تشکر از شما که بر خلاف فروم وردپرس که تاپیکمو قفل کردنخیلی سریع جوابمو دادین.:بوس:
محض تکمیل این تاپیک اینو بگم که راه حل اونقدر ساده بود که من نمی دونم واسه چی 1 هفتس معطل اینم؛ فقط یه دو تا /* */ گذاشتم طرفین خطی که ارور گرفته بود ازش همه چی تموم شد:تشویق:
امیدوارم دفعه بعدی که برگشتم به این فروم برنگردم سراغ این تاپیک.
بازم تشکر:لبخندساده:

MMSHFE
پنج شنبه 11 اسفند 1390, 20:03 عصر
خدا رو شکر که مشکلتون برطرف شد. امیدوارم زیاد به این انجمن سر بزنید. البته نه برای رفع مشکل (امیدوارم مشکلی براتون پیش نیاد)، بلکه برای یادگیری مطالب جدید و آموزش دانسته هاتون به سایرین. موفق باشید.

mbf5923
پنج شنبه 11 اسفند 1390, 20:22 عصر
من فایل رو دانلود نکردم اما اینطور که از مبحث مشخصه شما مشکل رو حل نکردین بلکه صورت مسئله رو پاک کردین که اگه جایی مهم باشه به مشکل بر میخورین دوست من

jsa_flora
جمعه 12 اسفند 1390, 22:09 عصر
من فایل رو دانلود نکردم اما اینطور که از مبحث مشخصه شما مشکل رو حل نکردین بلکه صورت مسئله رو پاک کردین که اگه جایی مهم باشه به مشکل بر میخورین دوست من
منم مثل شما فکر کردم که یک هفته درگیر این مشکل بودم. در مورد حذف اون خط هم فعلا که مشکلی پیش نیومده؛
اگه احیانا علاقمند بودین ببینین اروره واسه چیه این چند خط مربوط به فایلیه که ضمیمه کردم:

function et_resize_image( $thumb, $new_width, $new_height, $crop ){
$info = pathinfo($thumb);
$dir = $info['dirname'];
$ext = $info['extension'];
$name = wp_basename($thumb, ".$ext");
$suffix = "{$new_width}x{$new_height}";
$destfilename = "{$dir}/{$name}-{$suffix}.{$ext}";

#get local name for use in file_exists() and get_imagesize() functions
$localfile = preg_replace('#https?://.+?/#', $_SERVER['DOCUMENT_ROOT'].'/', et_multisite_thumbnail($thumb));
$checkfilename = str_replace( $name, $name . '-' . $new_width . 'x' . $new_height, $localfile );

#check if we have an image with specified width and height
/* if ( file_exists( $checkfilename ) ) return $destfilename; */

و البته خط آخر هم خطیه که ازش ارور گرفته شده