CodeIgniter এ ডাটাবেস কনফিগারেশন একটি অত্যন্ত গুরুত্বপূর্ণ ধাপ, কারণ এটি অ্যাপ্লিকেশনকে ডাটাবেসের সাথে সংযোগ স্থাপন করতে সহায়তা করে। CodeIgniter 4 এ ডাটাবেস কনফিগারেশন সাধারণত .env ফাইল বা app/Config/Database.php ফাইল ব্যবহার করে করা হয়।
ডাটাবেস কনফিগারেশনের ধাপ
১. ডাটাবেস তৈরি
ডাটাবেস কনফিগার করার আগে একটি ডাটাবেস তৈরি করুন:
phpMyAdmin বা MySQL CLI ব্যবহার করে একটি নতুন ডাটাবেস তৈরি করুন।
CREATE DATABASE your_database_name;
.env ফাইলের মাধ্যমে ডাটাবেস কনফিগারেশন
CodeIgniter 4 এ .env ফাইলের মাধ্যমে সহজেই ডাটাবেস কনফিগার করা যায়।
.env ফাইল সক্রিয়করণ
- CodeIgniter এর রুট ডিরেক্টরিতে
envনামে একটি ফাইল পাবেন। - ফাইলটির নাম
.envএ পরিবর্তন করুন। .envফাইলটি খুলুন এবং নিচের ডাটাবেস সেটআপটি করুন:database.default.hostname = localhost database.default.database = your_database_name database.default.username = your_username database.default.password = your_password database.default.DBDriver = MySQLi database.default.port = 3306
.env ফাইলের কনফিগারেশন ব্যাখ্যা
- hostname: আপনার সার্ভারের ঠিকানা (সাধারণত
localhost)। - database: ডাটাবেসের নাম।
- username: ডাটাবেস ইউজারনেম (ডিফল্ট হলে
root)। - password: ডাটাবেস পাসওয়ার্ড (ডিফল্টে ফাঁকা থাকতে পারে)।
- DBDriver: ডাটাবেস ড্রাইভার (যেমন: MySQLi, Postgre, SQLite)।
- port: ডাটাবেস সার্ভারের পোর্ট (MySQL এর জন্য ডিফল্ট
3306)।
app/Config/Database.php ফাইলের মাধ্যমে ডাটাবেস কনফিগারেশন
ডাটাবেস কনফিগারেশন সরাসরি app/Config/Database.php ফাইলেও করা যায়। এই পদ্ধতিটি .env ফাইলের বিকল্প।
Database.php ফাইল কনফিগারেশন
app/Config/Database.phpফাইলটি খুলুন।$defaultঅ্যারের ভ্যালুগুলো কনফিগার করুন:public $default = [ 'DSN' => '', 'hostname' => 'localhost', 'username' => 'your_username', 'password' => 'your_password', 'database' => 'your_database_name', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'cacheOn' => false, 'cacheDir' => '', 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, ];
গুরুত্বপূর্ণ প্যারামিটার
- pConnect: পারসিস্টেন্ট কানেকশন ব্যবহারের জন্য
trueবাfalse। - DBDebug: প্রোডাকশন এনভায়রনমেন্টে এটি
falseকরুন। - charset: ডাটাবেসের জন্য ব্যবহার করা ক্যারেক্টার সেট।
- DBCollat: ক্যারেক্টার সেটের কোলেশন।
ডাটাবেস কানেকশন টেস্ট করা
মডেল ব্যবহার করে ডাটাবেস টেস্ট
CodeIgniter এ মডেল ব্যবহার করে ডাটাবেস কানেকশন চেক করুন:
একটি নতুন মডেল তৈরি করুন:
namespace App\Models; use CodeIgniter\Model; class TestModel extends Model { protected $table = 'your_table_name'; }কন্ট্রোলারে মডেল লোড এবং ডেটা রিট্রিভ করুন:
namespace App\Controllers; use App\Models\TestModel; class TestController extends BaseController { public function index() { $model = new TestModel(); $data = $model->findAll(); print_r($data); } }- ব্রাউজারে
http://localhost/your_project/public/testcontrollerলিংকে যান এবং ডেটা চেক করুন।
সাধারণ সমস্যা এবং সমাধান
সমস্যা: "Unable to connect to the database"
- সমাধান:
- ডাটাবেসের নাম, ইউজারনেম এবং পাসওয়ার্ড সঠিক কিনা চেক করুন।
- সার্ভার পোর্ট সঠিকভাবে সেট হয়েছে কিনা নিশ্চিত করুন।
সমস্যা: "Access denied for user"
- সমাধান: ডাটাবেস ইউজারনেম এবং পাসওয়ার্ড পুনরায় যাচাই করুন।
সমস্যা: ডাটাবেস ড্রাইভার কাজ করছে না
- সমাধান: নিশ্চিত করুন যে আপনার PHP সংস্করণে MySQLi বা সংশ্লিষ্ট ড্রাইভার সক্রিয় আছে।
CodeIgniter এ ডাটাবেস কনফিগারেশন সঠিকভাবে সম্পন্ন করার মাধ্যমে আপনি সহজেই ডাটাবেস সংযোগ স্থাপন এবং ডেটা পরিচালনা করতে পারবেন। .env ফাইল বা Database.php ফাইল ব্যবহার করে সহজেই কনফিগারেশন সম্পন্ন করা যায়।
Read more