- سهشنبه 21 مهر 1405 ساعت 23:00
- 3.1.9
- کامل شده
- منقضی شده
تنظیمات اتصال دیتابیس در CodeIgniter 3 در فایل application/config/database.php قرار دارد. در این فایل میتوانید یک یا چند گروه اتصال تعریف کنید و مشخص کنید برنامه از کدام Driver، میزبان، نام دیتابیس، نام کاربری و Charset استفاده کند.
گروه اتصال پیشفرض
متغیر active_group نام گروه پیشفرض را تعیین میکند و query_builder فعال بودن Query Builder را مشخص میکند. هر گروه میتواند تنظیمات مستقل داشته باشد. برای نمونه، میتوانید اتصال اصلی و اتصال گزارشگیری را جدا کنید.
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => '127.0.0.1',
'username' => 'app_user',
'password' => 'change-me',
'database' => 'store',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'char_set' => 'utf8mb4',
'dbcollat' => 'utf8mb4_unicode_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);اتصال به گروه دیگر
اگر چند گروه اتصال تعریف کردهاید، میتوانید با database($group, TRUE) یک نمونه مستقل دریافت کنید. این روش برای گزارشگیری یا اتصال به دیتابیس جداگانه کاربرد دارد.
گزینههای مهم
| گزینه | توضیح |
|---|---|
dbdriver | Driver ارتباط مانند mysqli یا pdo |
pconnect | استفاده از اتصال پایدار |
db_debug | نمایش یا مدیریت خطای دیتابیس |
char_set | مجموعه نویسه اتصال |
dbcollat | قواعد مقایسه رشتهها |
save_queries | نگهداری Queryهای اجراشده |
نکته مهم
اطلاعات ورود را در مخزن عمومی قرار ندهید. در محیط Production نمایش خطا را خاموش و Log امن را فعال کنید. Driver و افزونه PHP باید با نسخه دیتابیس هماهنگ باشند.
مطالعه مرتبط
برای ادامه مطالعه، ایندکس در دیتابیس، کوئری را ببینید.
نکات عملی برای دیتابیس
پیش از استفاده در محیط واقعی، Driver و نسخه موتور دیتابیس را با قابلیتهای موردنیاز تطبیق دهید. Queryهای دارای ورودی کاربر باید Binding داشته باشند، عملیات چندمرحلهای باید در Transaction قرار بگیرند و برای Queryهای پرتکرار، Index و Execution Plan بررسی شود. تعداد Queryها و حجم Result نیز روی حافظه و زمان پاسخ اثر دارد.
برای عیبیابی، SQL تولیدشده، تعداد ردیفهای متاثر و زمان اجرا را در محیط توسعه ثبت کنید. در Production اطلاعات محرمانه را از Log حذف کنید و خطاهای دیتابیس را به کاربر نشان ندهید. اگر ساختار جدول تغییر میکند، تغییر را نسخهبندی و پیش از اجرا Backup بگیرید.