۱۳۹۲ آبان ۹, پنجشنبه

Error: MySQL- Got a packet bigger than 'max_allowed_packet' bytes

مشکل :
در زمان import کردن دیتابیس های با حجم زیاد در MySQL ممکن است با خطایی همانند زیر مواجه شویم :

Error: MySQL - ERROR 1153 (08S01) at line 138: Got a packet bigger than 'max_allowed_packet' bytes

علت :
1-در تنظیمات mysql مقدار max_allowed_packet مقدار کمتر از سایز فایل دیتابیس شما تنظیم شده است.

راه حل :
فایل تنظیمات mysql که به نام my.cnf که معمولا در دایرکتوری etc قرار دارد را باز کنید و مقدار این پارامتر را به مقدار مناسب تغییر دهید.
اگر این پارامتر وجود نداشت ،خودتان اضافه کنید.

max_allowed_packet = 700M


سپس سرویس mysqld را ریستارت کنید.

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings

خطا : 
Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. 

علت :
تنظیم نبودن مقدار date.timezone در فایل php.ini

راه حل :
فایل php.ini را باز کنید.(با دستور find / | grep php.ini می توانید آدرس آن را بدست آورید)
سپس مقدار date.timezone را همانند زیر اضافه کنید :

date.timezone = "Asia/Tehran"

اگر این پارامتر وجود نداشت ،خودتان اضافه کنید.

سپس سرویس httpd یا apache را ریستارت کنید.

ERROR 2006 (HY000) at line 4336: MySQL server has gone away

مشکل :
در زمان import کردن دیتابیس های با حجم زیاد در MySQL ممکن است با خطایی همانند زیر مواجه شویم :
ERROR 2006 (HY000) at line 4336: MySQL server has gone away

علت این امر ممکن است 2 چیز باشد :
1-در تنظیمات mysql مقدار max_allowed_packet مقدار کمتر از سایز فایل دیتابیس شما تنظیم شده است.
2-در تنظیمات mysql مقدار wait_timeout کمتر از زمان لازم برای ایمپورت دیتابیس شما تنظیم شده است.

راه حل :
فایل تنظیمات mysql که به نام my.cnf که معمولا در دایرکتوری etc قرار دارد را باز کنید و مقدار این پارامترها را به مقدار مناسب تغییر دهید.
اگر این پارامترها وجود نداشت ،خودتان اضافه کنید.


max_allowed_packet = 700M
wait_timeout = 7000

سپس سرویس mysqld را ریستارت کنید.

۱۳۹۲ آبان ۵, یکشنبه

بروز کردن نمایش اطلاعات دستور df بعد از پاک کردن فایل

حتما مشاهده کردید که گاهی یک سری فایل از روی سیستم پاک می کنید ولی وقتی با دستور df مقدار ظرفیت اشغال شده و خالی را نگاه می کنید،تغییری در ان رخ نداده است،علت این امر قرار گرفتن بعضی از این فایل ها در بافر فایل سیستم می باشد که برای حل این مشکل باید از دستور sync استفاده کرد.

NAME
       sync - flush file system buffers

SYNOPSIS
       sync [OPTION]

DESCRIPTION
       Force changed blocks to disk, update the super block.

       --help display this help and exit

       --version
              output version information and exit

AUTHOR
       Written by Jim Meyering.

۱۳۹۲ مهر ۲۴, چهارشنبه

ریدایرکت یا منتقل کردن از یک دامنه به دامنه دیگر با حفظ ادرس ورودی

گاهی ما دامنه سایت را عوض می کنیم ولی نمی خوایم آدرس هایی که قبلا در سایت های دیگر گذاشتیم یا در موتورهای جستجو به نا کجا اباد یا دامنه قدیمی برود،برای این منظور یک فایل .htaccess در هاست دامنه قدیمی ایجاد کنید و محتوای زیر را در آن قرار دهید.

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]