💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ علیرضا ابراهیمی
طول کشیدن زمان اتصال به mysqli
محسن موحد حل شده توسط محسن موحد

سلام وقتتون بخیر... من برای اتصال به پایگاه داده زمانی که میخواد صفحه connection.php لود بشه حدود 20 ثانیه صفحه برای لود شدنش طول میکشه... آیا همه چنین شرایطی دارن؟ چون دیدم استاد وقتی تو مرورگر این صفحه رو لود میکنن در حد زیر یک ثانیه لود میشه اما مال من 20 ثانیه رو حالت لود میچرخه تا باز بشه!!

سلام.

در کانکشن mysqli بجای localhost از ۱۲۷.۰.۰.۱ استفاده کنید.

اگر مشکلتون ازین طریق برطرف شد، علتش رو میگم.

محسن موحد ۱۱ اردیبهشت ۱۳۹۹، ۱۲:۰۰

این چرا پاسخ شد!

در کامنت‌ها درج شد.

محسن موحد ۱۱ اردیبهشت ۱۳۹۹، ۱۲:۴۰

خب تو stackoverflow بررسی کردم و مشکل رو رفع کردم... جناب موحد هم درست گفتن... اما باید برای رفع این مشکل، آی پی ۱۲۷.۰.۰.۱ رو تو کدهای کانکت به mysqli نوشت... من اشتباها رو آدرس بار مرورگر 127.0.0.1 رو تایپ میکردم که نتیجه نداشت. ولی وقتی کدم رو به این حالت تغییر دادم مشکل برطرف شد.

$mysqli = new mysqli("127.0.0.1","root","","world");

 

علیرضا ابراهیمی ۱۱ اردیبهشت ۱۳۹۹، ۱۳:۵۳

بله. توو پاسخ نوشته بودم داخل کانکشن mysqli! (سرویس دیتابیس ارتباطی با مرورگر نداره)

علت هم اینه که وقتی localhost مینویسید، MySQL client عملیات host lookup رو انجام میده و دنبال IPv۶ میگرده واگر پیدا نشه، یک delay ایجاد میشه تا query قبلی به پایان برسه و ظاهرا یک time out هم اتفاق میوفته و بعد برمیگرده و دنبال IPv۴ میگرده. که شما بصورت مستقیم ۱۲۷.۰.۰.۱ رو بعنوان Host گذاشتید تا این عملیات انجام نشه. مشکل توو همین قسمت lookup هست که در بعضی از سیستم عامل‌ها در تعامل با dns resolver کند انجام میشه!

* از win۷ به بعد، localhost از طریق dns resolver ویندوز، مدیریت میشه و نیاز به فایل hosts ویندوز نیست.

 

بهترین پاسخ
محسن موحد ۱۱ اردیبهشت ۱۳۹۹، ۱۵:۰۴