mahdi71

حل خطاها هنگام نصب افزونه

1 پست در این موضوع

مقدمه

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

حل خطاها هنگام نصب افزونه

تنظیمات FTP را در configuration.php فعال و تلاش می*کنید که پلاگین، قالب، زبان را نصب نمایید ولی با خطاهای زیر مواجه می*شوید.

JFolder::create: Infinite loop detected

JFTP::store: Bad response

Warning! - Failed to move file

یعنی اینکه یک سری از تنظیمات اشتباه در سرور شما وجود دارد.

ابتدا از وارد مدیریت جوملا شده و ← تنظیمات کلی ← سرور را انتخاب نمایید. فیلد اول مسیر پوشه Temp را مشخص می*کند. شما در این قسمت مسیر فعلی این پوشه در سرور را وارد کنید.

چندین راه برای پیدا کردن این مسیر وجود دارد که ساده ترین آن ساختن یک فایل path.php با کدهای زیر است:

<?php
 echo getcwd();
?>

آدرس www.yoursite.com/path.php را در مرورگر وارد کنید. با این کار مسیر درست پوشه*ها (جهت تنظیم در تنظیمات کلی) را نمایش می*دهد. شما باید فایل path.php را در /tmp کپی کنید.

وقتی که شما از FTP نمی*توانید استفاده کنید باید تنظیمات آن به علاوه سطح دسترسی به فایل*ها و پوشه*ها را تنظیم کنید.

یک مشکلی که وجود دارد اینست که پوشه*های زیادی وجود دارند که سطح دسترسی (Permission) تنظیمات پیش فرض آنها 755 است که برای امنیت بیشتر تنظیم شده است، اما این سطح دسترسی برای نصب برخی افزونه*ها کافی نیست.

اگر شما سطح دسترسی را به 777 تغییر دهید قادر به نصب و حذف افزونه*ها خواهید بود ولی این سطح دسترسی امن نیست.

شما می*توانید به براحتی یک فایل php ایجاد کنید که سطح دسترسی پوشه*های مورد نیاز برای نصب را به 777 تنظیم کند و بعد از اینکه فرآیند نصب به اتمام رسید سطح دسترسی را به حالت قبل بازگردانید.

/administrator/backups/
/administrator/components/
/administrator/language/
/administrator/language/en-GB/
/administrator/language/fa-IR/
/administrator/modules/
/administrator/templates/
/components/
/images/
/images/banners/
/images/stories/
/language/
/language/en-GB/
/language/fa-IR/
/language/pdf_fonts/
/modules/
/plugins/
/plugins/content/
/plugins/editors/
/plugins/editors-xtd/
/plugins/search/
/plugins/system/
/plugins/user/
/plugins/xmlrpc/
/tmp/
/templates/
/cache/

همانطور که می*بینید زبان دیگری هم از قبل نصب شده است، بنابراین به راحتی می*توانید زبان*های دیگری را به لیست زیر اضافه نمایید.

فایل chmod.php را ایجاد کرده و کدهای زیر را در آن قرار دهید.

<?php
if ($_GET['chmod']) { $ftp_chmod = $_GET['chmod']; } else { $ftp_chmod = "0755"; }
echo "chmod=".$ftp_chmod;

$ftp_server='your server';
$ftp_user='the user';
$ftp_pass='the password';
$conn_id = ftp_connect("$ftp_server");
ftp_login($conn_id, $ftp_user, $ftp_pass);

if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/administrator/backups/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/administrator/components/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/administrator/language/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/administrator/language/en-GB/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/administrator/language/fa-IR/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/administrator/modules/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/administrator/templates/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/components/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/images/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/images/banners/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/images/stories/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/language/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/language/en-GB/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/language/fa-IR/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/language/pdf_fonts/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/modules/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/plugins/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/plugins/content/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/plugins/editors/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/plugins/editors-xtd/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/plugins/search/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/plugins/system/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/plugins/user/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/plugins/xmlrpc/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/tmp/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/templates/')) { echo "<!--succes-->
"; } else { echo "failed"; }
if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' /httpdocs/cache/')) { echo "<!--succes-->
"; } else { echo "failed"; }

ftp_close($conn_id);
?>

زمانیکه آدرس www.yoursite.com/chmod.php?chmod=0777 را در مرورگر وارد نمایید تمام دایرکتوری مورد نظر به سطح دسترسی 777 تنظیم می*شود.

بازگردان به حالت قبل

برای بازگرداندن به حالت امن باید در نوار آدرس مرورگر www.yoursite.com/chmod.php?chmod=0755 را بنویسید.

برای استفاده از امکان FTP باید کد زیر را به انتهای chmod.php اضافه کنید

<?php

// your ftp credentials
$ftp_server='ftp.yourserver.com';
$ftp_user='yourusername';
$ftp_pass='yourpassword';

// where is Joomla installed? (trailing slash required)
$base = '/public_html/web/';

// what files or directories need chmod applied? (trailing slash optional)
$dirs = array( 'administrator/backups',
              'administrator/components',
              'administrator/language',
              'administrator/language/en-GB',
              'administrator/modules',
              'administrator/templates',
              'administrator/cache',
              'components',
              'images',
              'images/banners',
              'images/stories',
              'media',
              'language',
              'language/en-GB',
              'language/pdf_fonts',
              'modules',
              'plugins',
              'plugins/content',
              'plugins/editors',
              'plugins/editors-xtd',
              'plugins/search',
              'plugins/system',
              'plugins/user',
              'plugins/xmlrpc',
              'tmp',
              'templates',
              'cache'
            );

// default to safe 0755 setting
if ($_GET['chmod']) {
   $ftp_chmod = $_GET['chmod']; 
} else {
   $ftp_chmod = "0755"; 
}
echo "chmod=".$ftp_chmod.'<br/>';

// connect via ftp and apply chmod
$conn_id = ftp_connect("$ftp_server");
ftp_login($conn_id, $ftp_user, $ftp_pass);
foreach( $dirs as $dir ){
   if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$base.$dir)) { 
       echo "success "; 
   } else { 
       echo "failed "; 
   }
   echo $base.$dir.'<br/>';
} 
ftp_close($conn_id);

echo 'DONE';
?>

منبع :جوملا فارسی

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش html و css آموزش لاراول آموزش cPanel آموزش php آموزش سئو وردپرس آموزش امنیت وردپرس آموزش وردپرس آموزش فرم ساز RSform آموزش سئو جوملا آموزش فروشگاه ساز Hikashop آموزش فروشگاه ساز ویرچومارت آموزش طراحی سایت آگهی تبلیغاتی آموزش امنیت جوملا آموزش طراحی سایت فروش فایل آموزش طراحی قالب ریسپانسیو با Helix آموزش جوملا 3 آموزش ساخت ربات دکمه ی شیشه ای آموزش ساخت ربات همکاری در فروش آموزش ساخت ربات جذب ممبر آموزش ساخت ربات ضد اسپم آموزش ساخت ربات پیوست فایل سورس ربات مدیر گروه | ربات مدیر گروه همسریابی

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری