একটি ডেটাবেসসহ একটি PHP প্রোজেক্ট — এই সাইটের PHP আর SQL কোর্স জুড়ে তৈরি ধরনের — একটি static সাইটের চেয়ে একটি বেশি অংশ দরকার: সার্ভারে একটি আসল, লাইভ ডেটাবেস, শুধু আপলোড করা ফাইল নয়।
Choosing-hosting-for-your-stack পাঠ অনুযায়ী shared হোস্টিং — এটি ঠিক এই সমন্বয়ের চারপাশে তৈরি। কোডের জন্য আপনি control panel-এর ফাইল ম্যানেজার বা FTP ব্যবহার করবেন, আর ডেটাবেস নিজের জন্য এর ডেটাবেস টুল।
.sql ফাইল আপলোড করে।public_html-এ আপনার PHP ফাইল আপলোড করুন।স্থানীয় আর live ডেটাবেস credentials সবসময় ভিন্ন
আপনার স্থানীয় development ডেটাবেস আর আপনার live সার্ভারের ডেটাবেস সম্পূর্ণ দুটি ভিন্ন ডেটাবেস, ভিন্ন সংযোগের বিবরণসহ — একটি ভিন্ন host, username, password, আর প্রায়ই সম্পূর্ণ একটি ভিন্ন ডেটাবেস নাম। স্থানীয়ভাবে কাজ করা কোড live সার্ভারে ব্যর্থ হবে যতক্ষণ না আপনার কোডে সংযোগের বিবরণ live ডেটাবেসের আসল credentials-এর সাথে মেলাতে আপডেট করা হয়, আপনার স্থানীয়টির সাথে নয়।
// এই ফাঁদ বিশেষভাবে এড়াতে ব্যবহারের যোগ্য একটি প্যাটার্ন —
// credentials একটি জায়গায় রাখুন, প্রতি পরিবেশে একবার বদলানো,
// একাধিক ফাইলে hardcode করা আর ভুলে যাওয়া না হয়ে
$host = 'localhost'; // সাধারণত shared হোস্টিং-এই সঠিক
$dbname = 'youraccount_dbname'; // shared host প্রায়ই আপনার অ্যাকাউন্টের নাম দিয়ে এটি prefix করে
$username = 'youraccount_dbuser';
$password = 'তৈরি করার সময় আপনি সেট করা পাসওয়ার্ড';Shared host সাধারণত ডেটাবেস নাম আর username দুটোই আপনার অ্যাকাউন্টের নাম দিয়ে prefix করে — একটি বিবরণ যা শিক্ষার্থীদের হোঁচট খাওয়ায় যারা তৈরি করার সময় তারা টাইপ করা ঠিক নামটি আশা করে।
| লক্ষণ | সম্ভাব্য কারণ |
|---|---|
| একটি খালি সাদা পাতা | Error প্রদর্শন বন্ধ থাকা একটি PHP error — আপনার host-এর error log যাচাই করুন |
| "Access denied for user" | আপনার সংযোগ কোডে ভুল ডেটাবেস username বা password |
| সাইট লোড হয় কিন্তু কোনো ডেটা দেখা যায় না | ডেটাবেস import করা হয়েছে কিন্তু খালি, বা ভুল ডেটাবেস নামের সাথে সংযুক্ত |
| কিছু পাতায় কাজ করে, অন্যগুলোতে না | Import করা ডেটাবেস থেকে একটি নির্দিষ্ট কোয়েরি বা table অনুপস্থিত |
এই বিভাগের pipeline মান অনুযায়ী: যাচাই করুন ডেটাবেস থেকে পড়া একটি পাতা আসলে বাস্তব ডেটা দেখায়, ডেটাবেসে লেখা একটি form আসলে কিছু সংরক্ষণ করে (পরে phpMyAdmin-এ যাচাই করুন), আর অপ্রত্যাশিত কিছুর জন্য আপনার host-এর error log যাচাই করুন — বেশিরভাগ control panel সরাসরি এটি প্রকাশ করে।