کاربرانی که کم و بیش با سیستم مدیریت محتوای جوملا کار کرده اند بی شک حتما برای آن ها پیش آمده که برای نصب افزونه یا قالب و کامپوننت خاصی ؛ ناتوان در انجام این عملیات باشند.
نمونه این نوع خطا:
1 2 3 4 5 6 7 8 |
هشدار: انتقال فایل با شکست مواجه شد JFolder::create: Could not create directory Path: /home/Your-Host-Username/public_html/tmp/... خطا Unable to create destination ناتوان در یافتن بسته نسبی |
از دلایل اصلی ای که این نوع خطاها در حین نصب جوملا بوجود می آید مسیردهی اشتباه پوشه های ذخیره موقت جوملا ( logs و tmp ) و یا نادرست بودن سطوح دسترسی و یا Permission پوشه های جوملا و حتی به دلیل فعال بودن قابلیت اتصال خودکار جوملا به FTP بوجود آید که در زیر به تشریح راه حل های آن خواهیم پرداخت.
راه حل اول: اولین گام اصلاح و بررسی صحت مسیر پوشه های ذخیره موقت tmp و logs در جوملا است. این پوشه در فایل configuration.php دارای یک مسیر معرف و مشخصی هستند. که این مسیر هم از طریق بخش مدیریت جوملا> تنظیمات سایت> سرور قابل ویرایش هستند و هم از طریق اصلاح مستقیم فایل کانفیگ جوملا ، که در زیر به آن اشاره میکنیم.
ابتدا فایل configuration.php را که در مسیر روت جوملا (public_html) موجود است (اگر جوملای خود را در پوشه یا ساب دومینی به غیر از دامنه اصلی نصب کرده اید میبایست آنرا در آن پوشه یا ساب دامنه پیدا کنید) باز میکنیم. در این فایل دو خط فرمان وجود دارد که میبایست آنرا به شکل صحیحی تغییر دهیم. در این فایل به دنبال دو خط کد زیر باشید:
1 |
public $tmp_path = ' '; |
1 |
public $log_path = ' '; |
اگر هاست شما دارای کنترل پنل Cpanel باشد نحوه مسیردهی شما میبایست به شکل زیر باشد:
1 2 |
public $tmp_path = '/home/your-host-username/public_html/tmp'; public $log_path = '/home/your-host-username/public_html/logs'; |
اگر هاست شما دارای کنترل پنل DirectAdmin باشد نحوه مسیردهی شما میبایست به شکل زیر باشد:
1 2 |
public $tmp_path = '/home/your-host-username/domains/YourDomainName.com/public_html/tmp public $log_path = '/home/your-host-username/domains/YourDomainName.com/public_html/logs'; |
اگر شما در حال کار با سایت خود در محیط شبیه ساز وب سرور محلی یا لوکال هاست و یا بستر نرم افزاری Xampp هستید نحوه مسیردهی شما میبایست به شکل زیر باشد:
1 2 3 |
public $log_path = 'C:\\xampp\\htdocs\\MyJoomlaSite/logs'; public $tmp_path = 'C:\\xampp\\htdocs\\MyJoomlaSite/tmp'; |
راه حل دوم: یکی از مواردی که موجب بروز این خطا می شود ناتوانی در نوشتن و خواندن پوشه های tmp و logs است. برخی از افزونه ها و قالب های جوملایی برای نیاز به دسترسی باز برای نصب سورس خود بروی جوملای شما هستند ازین رو میبایست که دسترسی یا پرمیشن (Permission) پوشه های logs و tmp را بروی ۷۵۵ یا ۷۷۷ قرار دهید. همچنین برخی اوقات علاوه بر این دو پوشه به فایلهای دیگری نیز میبایست دسترسی داشته شود.
راه حل سوم: اگر موارد بالا مشکل شما بر طرف نشد. ازطریق مدیریت جوملا > تنظیمات سایت > تنظیمات سرور > تنظیمات FTP را بررسی کنید و اطمینان حاصل کنید که این گزینه غیرفعال باشد.
راه حل چهارم: در نهایت برخی اوقات مشاهده شده که کاربران با بی توجهی به هاست خود ؛ بیش از حد مجاز فضای هاست خود بروی آن دیتا دارند و عملا می توان گفت که هاست آن ها پر شده است و در صورت نصب افزونه یا قالب جدید به دلیل اینکه هاست اجازه آپلود فایل جدیدی به سایت را نمی دهد از این رو با این خطا مواجه می شوید.
امیدواریم که این آموزش برای شما مفید بوده باشد. سوالات خود را بعنوان کامنت در همین پست ارسال نمایید.