سوال : من در زمان import کردن دیتابیس با خطا “the connection was reset ” مواجه می شوم و نمی تونم دیتابیس های با حجم بالا را در phpmyadmin ایمپورت کنم؟
پاسخ : این مشکل ممکن است به دلیل محدود بدون تنظیمات فایل php.ini باشد. phpmyadmin از php.ini استفاده میکند. شما میتوانید از روش های زیر برای رفع مشکل خود استفاده کنید.
رفع مشکل import کردن دیتابیس با حجم بالا در phpmyadmin
1.قبل از هرچیز مقدار upload_max_filesize و post_max_size را در php.ini خود بررسی کنید.
در صورتی که مقادیر آنها کم باشد شما امکان import کردن و آپلود کردن فایل بیش از مقدار را ندارید. به طور کلی در صورتی که این دو مورد 20 Mb است شما تا 20 مگابایت می توانید فایل آپلود کنید. برای بررسی این مقادیر ابتدا یک فایل php در هاست خود ایجاد کنید و کد های زیر را به آن اضافه کنید. در اینجا ما یک فایل به نام phpinfo.php ایجاد کرده ایم. همچنین توجه داشته باشید ممکن است phpinfo(); در سرور شما توسط مدیر سرور مسدود شده باشد.
// Show all information, defaults to INFO_ALL
phpinfo();
// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);
?>
سپس فایل را باز کنید و این دو مورد را چک کنید.
2.در صورتی که مقدار این دو مورد کمتر از حجم دیتابیس شما است لازم است آنها را تغییر دهید. برای تغییر می توانید از یکی از روش های زیر استفاده کنید
روش اول : تغییر تنظیمات در فایل phpmyadmin.conf
در صورتی که نرم افزار های مانند wamp یا xampp استفاده می کنید این امکان برای شما وجود دارد. در هاست های اشتراکی امکان ویرایش این فایل وجود ندارد.
برای مثال برای نرم افزار wamp فایل wamp/alias/phpmyadmin.conf را باز کنید و کد های زیر را به آن اضافه کنید
php_admin_value post_max_size 20M
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
با توجه به نیاز خود مقادیر بالا را تغییر دهید. برای مثال برای حجم 50 مگابایت لازم است حتما هر 2 upload_max_filesize و post_max_size به 50 مگابایت تغییر داده شود. سپس سرویس های wamp خود را ری استارت کنید.
روش دوم تغییر مقادیر upload_max_filesize و post_max_size در php.ini
در صورتی که دسترسی به ssh سرور دارید ابتدا وارد ssh سرور خود شوید و سپس دستور زیر را وارد کنید
سپس جلوی Loaded Configuration File مسیر فایل php.ini شما نوشته شده است آن را با دستور nano ویرایش کنید. برای مثال مسیر php.ini ما usr/local/lib/php.ini است.
در صورتی nano روی سرور شما نصب نیست از دستور زیر برای نصب nano استفاده کنید :
پس از ویرایش فایل و تغییر فایل را با دکمه های ctrl+x و سپس y ذخیره کنید و دستور زیر را اجرا کنید تا تغییرات شما اعمال شود.
نحوه ویرایش فایل php.ini توسط سی پنل (whm) با سطح دسترسی مدیریت
پس از ورود به به whm از قسمت Service Configuration روی PHP Configuration Editor کلیک کنید. سپس روی Advanced Mode کلیک کنید و مقادیر مورد نظر را تغییر دهید. سپس از قسمت Restart Services روی گزینه HTTP Server (Apache) کلیک کنید. توجه داشته باشید در صورتی که وب سرور دیگری دارید آن را ری استارت کنید.
نحوه ویرایش فایل php.ini توسط دایرکت ادمین با سطح دسترسی مدیریت (admin level)
پس از ورود مدیریت دایرکت ادمین در قسمت admin tools روی گزینه File Editor کلیک کنید و فایل php.ini را انتخاب کنید و آن را ویرایش کنید. توجه کنید ممکن است در این قسمت چند فایل php.ini وجود داشته باشد. برای تشخیص فایل اصلی یا از طریق روش phpinfo اقدام کنید و یا از دستور php –ini در ssh استفاده کنید.
پس از ویرایش در صفحه اصلی مدیریت دایرکت ادمین از قسمت Service Monitor سرویس httpd را ری استارت کنید. اگر وب سرور دیگری دارید یا fast cgi دارید آنها را ری استارت کنید.
روش سوم : فایل خود را فشرده آپلود کنید.
در برخی سرور ها (بسته به تنظیمات سرور) امکان import و export با فرمت های فشرده مانند gz وجود دارد. در این روش حجم فایل شما بسیار کمتر می شود.
روش چهارم : Import دیتابیس بدون نیاز به phpmyadmin و با استفاده از کد های php :
برای استفاده از این روش از این لینک استفاده کنید.