ریموٹ MySQL اور PDO کے ساتھ کوہانا فریم ورک کی "میزبانی کے لیے کوئی راستہ نہیں" کی خرابی کو درست کرنا

ریموٹ MySQL اور PDO کے ساتھ کوہانا فریم ورک کی میزبانی کے لیے کوئی راستہ نہیں کی خرابی کو درست کرنا
ریموٹ MySQL اور PDO کے ساتھ کوہانا فریم ورک کی میزبانی کے لیے کوئی راستہ نہیں کی خرابی کو درست کرنا

کوہانہ میں ریموٹ MySQL کے ساتھ کنکشن چیلنجز پر قابو پانا

پی ایچ پی 5.6 اور کوہانا فریم ورک کے ساتھ کام کرتے وقت، دور دراز کے MySQL ڈیٹا بیس سے منسلک ہونے سے بعض اوقات غیر متوقع غلطیاں ہوسکتی ہیں۔ ایک عام مسئلہ ہے "میزبانی کا کوئی راستہ نہیں" error، جو مبہم ہو سکتی ہے، خاص طور پر اگر وہی کنکشن دوسرے ٹولز کے ذریعے ٹھیک کام کرتا ہے۔ 🤔

اس کا تصور کریں: آپ نے درست IP پتے اور اجازتوں سمیت سب کچھ ترتیب دے دیا ہے، اور یہ سب اسٹینڈ لون اسکرپٹس یا MySQL ورک بینچ میں آسانی سے جڑ جاتا ہے۔ لیکن، جیسے ہی آپ کوہانا کے ذریعے کنکشن کی کوشش کرتے ہیں، آپ کو ایک ایسی غلطی کا سامنا کرنا پڑتا ہے جو آپ کے سیٹ اپ سے مکمل طور پر غیر متعلق معلوم ہوتا ہے۔ مایوس کن، ٹھیک ہے؟

یہ مسئلہ اکثر ٹھیک ٹھیک اختلافات سے پیدا ہوتا ہے کہ فریم ورک کیسے ہینڈل کرتے ہیں۔ ڈیٹا بیس کنکشنخاص طور پر جب اس سے نمٹنے کے لیے ریموٹ سرورز. اس صورت میں، `php.ini` فائل میں ایک سادہ کنفیگریشن ایڈجسٹمنٹ مسئلہ کو حل کرتی ہے۔ یہ حل ایک دلچسپ موڑ کی طرف اشارہ کرتا ہے کہ کس طرح پی ایچ پی کی پی ڈی او ایکسٹینشن ہڈ کے نیچے MySQL کنکشن کا انتظام کرتی ہے۔

یہاں یہ ہے کہ میں نے ایک چھوٹی لیکن طاقتور تبدیلی کے ساتھ اس خامی پر کیسے قابو پایا، جس سے کوہانا فریم ورک یا دیگر پی ایچ پی سیٹ اپس کے ساتھ ملتے جلتے مسائل کا سامنا کرنے والے کسی کو بھی مدد مل سکتی ہے۔

حکم استعمال کی مثال
pdo_mysql.default_socket یہ php.ini ترتیب MySQL ساکٹ کنکشن کے لیے فائل کا راستہ بتاتی ہے۔ اس راستے کی وضاحت کرنے سے (مثال کے طور پر، "/tmp/mysql.sock")، یہ کنکشن کی خرابیوں کو حل کر سکتا ہے جب PHP ریموٹ MySQL کے لیے TCP/IP کی بجائے ساکٹ میں ڈیفالٹ ہو جاتا ہے۔
PDO::ATTR_PERSISTENT This PDO attribute enables persistent connections to the database. It is set within the Kohana framework’s database config (e.g., 'options' => array(PDO::ATTR_PERSISTENT =>یہ PDO وصف ڈیٹا بیس سے مستقل کنکشن کو قابل بناتا ہے۔ یہ کوہانا فریم ورک کے ڈیٹا بیس کی تشکیل کے اندر سیٹ کیا گیا ہے (جیسے، 'options' => array(PDO::ATTR_PERSISTENT => true))۔ یہ کنکشن اوور ہیڈ کو کم کرتا ہے، خاص طور پر نیٹ ورک پر کنکشن کو سنبھالنے میں مفید ہے۔
application/config/database.php یہ کوہانا کنفیگریشن فائل وہ جگہ ہے جہاں ڈیٹا بیس کنکشن کے پیرامیٹرز سیٹ کیے گئے ہیں۔ یہاں اندراجات میں ترمیم کرکے، ہم ڈیٹابیس کنکشن کی تفصیلات جیسے کہ میزبان نام، صارف نام، اور استعمال کرنے کے لیے فریم ورک کے لیے پاس ورڈ کی وضاحت کرتے ہیں۔
PDO::__construct ڈیٹا بیس کنکشن کے ساتھ ایک نیا PDO آبجیکٹ انسٹیٹیوٹ کرنے کے لیے استعمال کیا جاتا ہے۔ یہاں، اسے MySQL سے منسلک کرنے کے لیے DSN (ڈیٹا سورس کا نام) کے ساتھ کنفیگر کیا گیا ہے، جو کنیکٹیویٹی کی جانچ کے لیے اہم ہے (مثال کے طور پر، نیا PDO($dsn، $username، $password))۔
PDOException PHP میں ایک خصوصی رعایت، PDOException ان غلطیوں کو ہینڈل کرتا ہے جو ڈیٹا بیس آپریشنز کے دوران ہوتی ہیں۔ ٹیسٹ میں، PDOException کو پکڑنا کنکشن کی ناکامیوں کی تشخیص اور فیڈ بیک فراہم کرنے کی اجازت دیتا ہے۔
PHPUnit\Framework\TestCase یہ PHPUnit میں یونٹ ٹیسٹ کے لیے بیس کلاس ہے۔ TestCase کو بڑھا کر، یہ ہمیں ڈیٹا بیس کنیکٹوٹی کی توثیق کرنے کے لیے ایک سٹرکچرڈ ٹیسٹ بنانے کی اجازت دیتا ہے (مثال کے طور پر، کلاس DatabaseConnectionTest Extensed TestCase)۔
$this->$this->assertTrue() PHPUnit میں، assertTrue() ایک دعویٰ کا طریقہ ہے جو چیک کرتا ہے کہ آیا دی گئی شرط درست ہے۔ اس کا استعمال ٹیسٹ میں اس بات کی تصدیق کے لیے کیا جاتا ہے کہ PDO مثال کامیابی کے ساتھ بنائی گئی تھی۔
$this->$this->fail() PHPUnit میں ایک اور دعوے کا طریقہ، fail() واضح طور پر ٹیسٹ میں ناکام ہوجاتا ہے اگر کنکشن کی خرابی واقع ہوتی ہے، ڈیٹا بیس کنکشن کے مسئلے کی تشخیص کے لیے تفصیلی ایرر میسیج فراہم کرتا ہے۔
php.ini پی ایچ پی کے لیے یہ مین کنفیگریشن فائل سرور کے لیے مخصوص سیٹنگز سیٹ کرتی ہے، بشمول MySQL کنکشن کی تفصیلات۔ pdo_mysql.default_socket آپشن کو یہاں شامل کرنے سے براہ راست متاثر ہوتا ہے کہ پی ایچ پی ریموٹ مائی ایس کیو ایل کنکشن کو کس طرح منظم کرتی ہے۔
Restart PHP Service پی ایچ پی سروس کو دوبارہ شروع کرنا (مثال کے طور پر، systemctl دوبارہ شروع کرنا php-fpm یا سروس apache2 دوبارہ شروع کرنا) php.ini میں کی گئی تبدیلیوں کو لاگو کرنے کے لیے ضروری ہے، اس بات کو یقینی بنانے کے لیے کہ اپ ڈیٹ کردہ ساکٹ سیٹنگز کو PHP کے ذریعے تسلیم کیا جائے۔

کوہانا میں ریموٹ MySQL کنکشن کے مسائل کو سمجھنا اور ان کا ازالہ کرنا

پہلی اسکرپٹ کی مثال "میزبانی کے لیے کوئی راستہ نہیں" کو ترتیب دے کر حل کرتی ہے۔ php.ini فائل ایک مخصوص MySQL ساکٹ پاتھ سیٹ کرنے کے لیے۔ یہ ترتیب، pdo_mysql.default_socket, اہم ہے جب PHP دور دراز کے MySQL کنکشنز کے لیے TCP پر یونکس ساکٹ کو ڈیفالٹ کرتا ہے۔ پاتھ `/tmp/mysql.sock` کو شامل کر کے، ہم PHP کو ٹھیک سے بتاتے ہیں کہ ساکٹ کو کہاں تلاش کرنا ہے، اسے ڈیفالٹ پر واپس آنے سے روکتا ہے جو کوہانا کے رن ٹائم کے ساتھ کام نہیں کر سکتا۔ یہ حل ان صورتوں میں کارآمد ہے جہاں کوہانا کا ڈیٹا بیس کنکشن اسٹینڈ لون اسکرپٹس سے مختلف برتاؤ کرتا ہے، ممکنہ طور پر ماحول کی ترتیب میں فرق کی وجہ سے۔ مثال کے طور پر، کچھ سرورز پر، پی ایچ پی ایپلی کیشنز کو مسلسل رویے کے لیے واضح ساکٹ پاتھ کی ضرورت ہوتی ہے، جسے ہم براہ راست بتا کر حل کرتے ہیں۔

دوسرا اسکرپٹ کوہانا کی اپنی کنفیگریشن فائل کو ایڈجسٹ کرتا ہے تاکہ ڈیٹا بیس کی تفصیلات کو براہ راست بیان کیا جا سکے اور آئی پی ایڈریس کے ساتھ TCP کنکشن کو مجبور کیا جا سکے۔ یہ 'database.php' فائل میں کیا جاتا ہے، جہاں میزبان نام، صارف نام، پاس ورڈ اور ڈیٹا بیس کا نام سیٹ کیا جاتا ہے۔ مزید برآں، مستقل کنکشن آپشن (`PDO::ATTR_PERSISTENT`) کو فعال کر کے، ہم کارکردگی کو بہتر بناتے ہیں اور نئے کنکشن قائم کرنے میں ضرورت سے زیادہ اوور ہیڈ سے بچتے ہیں۔ یہ ترتیب خاص طور پر مفید ہوتی ہے جب ایپلیکیشن بار بار ڈیٹا بیس کے سوالات کرتی ہے، کیونکہ مستقل کنکشن MySQL سرور پر بوجھ کو کم کرتا ہے۔ مجھے اس سیٹ اپ کا سامنا ایک بار اس وقت ہوا جب میری ایپلیکیشن VPN پر رابطہ قائم کرنے میں ناکام رہی، اور مستقل مزاجی سے کنکشن کو مستحکم کرنے میں مدد ملی۔

ہماری کنفیگریشن کی تصدیق کرنے کے لیے، تیسرے حل میں کنکشن سیٹ اپ کی توثیق کرنے کے لیے PHPUnit ٹیسٹ اسکرپٹ شامل ہے۔ ٹیسٹ فائل `DatabaseConnectionTest.php` ایک کنکشن قائم کرتی ہے اور اس بات کی تصدیق کے لیے دعوے چلاتی ہے کہ یہ توقع کے مطابق کام کرتی ہے۔ کسی کو پکڑ کر PDOException، یہ اسکرپٹ اس بات کی نشاندہی کرنے میں مدد کرتا ہے کہ آیا کنفیگریشن یا نیٹ ورک کنکشن میں کوئی مسئلہ ہے۔ مجھے اسٹیجنگ سرور پر اسی طرح کی پریشانی کا ازالہ کرنا یاد ہے جہاں ترتیبات نے ترقی پر کام کیا لیکن پیداوار میں ناکام رہا۔ سیٹ اپ کے اوائل میں ٹیسٹ اسکرپٹ چلانے سے کنفیگریشن کی عدم مطابقت کو نمایاں کیا گیا، بعد میں ڈیبگنگ کے گھنٹوں کی بچت ہوئی۔ یہ طریقہ کارآمد ہے، کیونکہ ٹیسٹ اسکرپٹ کو کسی بھی وقت دوبارہ استعمال کیا جا سکتا ہے جب بھی تبدیلیاں کی جائیں، اس بات کو یقینی بناتے ہوئے کہ ڈیٹا بیس کے کنکشن کی ہمیشہ توثیق ہوتی ہے۔

عملی طور پر، یہ اسکرپٹس کوہانا اور PDO کے ساتھ دور دراز کے MySQL کنیکٹوٹی کے مسائل کو حل کرنے کے مختلف پہلوؤں کا احاطہ کرتی ہیں۔ php.ini ایڈجسٹمنٹ مقامی ماحول کے مسائل کو حل کرتی ہے، کوہانا کنفیگریشن براہ راست TCP کنکشن سیٹ اپ کو یقینی بناتا ہے، اور یونٹ ٹیسٹ ہر چیز کی توثیق کرتا ہے۔ ہر حل ماحولیاتی اختلافات سے لے کر نیٹ ورک کے استحکام تک کنکشن کے مسئلے کے ایک منفرد پہلو کو نشانہ بناتا ہے۔ ایک ساتھ، وہ ایک جامع ٹربل شوٹنگ کا طریقہ فراہم کرتے ہیں جو "میزبانی کے لیے کوئی راستہ نہیں" کی خرابی کی عام وجوہات کو حل کرتا ہے۔ اگر آپ کو اسی طرح کے مسائل کا سامنا ہے، تو ان حلوں کو یکجا کرنے سے اس بات کی نشاندہی کرنے میں مدد مل سکتی ہے کہ چیزیں کہاں غلط ہو رہی ہیں، چاہے یہ سرور کی ترتیب، نیٹ ورک سیٹ اپ، یا فریم ورک کے لیے مخصوص ہینڈلنگ ہو۔ 🔧

PDO کے ساتھ کوہانہ میں "میزبانی کے لیے کوئی راستہ نہیں" کی خرابی کو حل کرنے کا متبادل طریقہ

پی ڈی او اور ساکٹ پاتھ سیٹ اپ کے ساتھ پی ایچ پی اور مائی ایس کیو ایل بیک اینڈ کنفیگریشن

// Solution 1: Modifying php.ini to set MySQL socket path
// This method updates the MySQL socket path in php.ini to fix the connection issue
// Step 1: Open the php.ini file on your server
// Step 2: Add the following line to specify the path to the MySQL socket
pdo_mysql.default_socket = "/tmp/mysql.sock";
// Step 3: Restart the PHP service to apply the changes
// This ensures PHP’s PDO connects consistently to the remote MySQL server

کوہانا ڈیٹا بیس کی ترتیبات میں براہ راست ترتیب

پی ایچ پی پی ڈی او کنکشن حسب ضرورت کوہانا کنفیگریشن میں براہ راست

// Solution 2: Configure Kohana's database settings to connect via TCP instead of socket
// Open the database configuration file in Kohana, typically found at application/config/database.php
return array(
   'default' => array(
       'type'       => 'MySQL',
       'connection' => array(
           'hostname'   => 'serverB_IP_address',
           'username'   => 'your_username',
           'password'   => 'your_password',
           'database'   => 'your_database',
           'persistent' => FALSE,
           'options'    => array(PDO::ATTR_PERSISTENT => true),
       ),
   ),
);
// Enabling PDO::ATTR_PERSISTENT option improves connection consistency

PDO MySQL کنکشن سیٹ اپ کی جانچ کرنے والا یونٹ

پورے ماحول میں کنکشن کی توثیق کے لیے PHPUnit ٹیسٹ

// Solution 3: Unit test to validate MySQL connection consistency
use PHPUnit\Framework\TestCase;
class DatabaseConnectionTest extends TestCase {
   public function testConnection() {
       $dsn = 'mysql:host=serverB_IP_address;dbname=your_database';
       $username = 'your_username';
       $password = 'your_password';
       try {
           $pdo = new PDO($dsn, $username, $password);
           $this->assertTrue($pdo instanceof PDO);
           echo "Connection successful!";
       } catch (PDOException $e) {
           $this->fail("Connection failed: " . $e->getMessage());
       }
   }
}
// This unit test ensures the MySQL connection works across environments, highlighting issues early

ریموٹ MySQL کنکشنز کے لیے پی ایچ پی میں نیٹ ورک کنفیگریشنز کو ایڈریس کرنا

ایک سے جڑتے وقت دور دراز MySQL ڈیٹا بیس کوہانا فریم ورک کا استعمال کرتے ہوئے، نیٹ ورک کنفیگریشن کنکشن کی کامیابی میں اہم کردار ادا کرتی ہے۔ اگر آپ کا MySQL سرور ایک ریموٹ نیٹ ورک پر ہے، تو آپ کے PHP سرور اور MySQL کے درمیان کھلے رابطے کو یقینی بنانا ضروری ہے۔ ایک نظر انداز کی گئی تفصیل اکثر سرور ہوسٹنگ پی ایچ پی اور مائی ایس کیو ایل سرور دونوں پر فائر وال کی ترتیب ہوتی ہے۔ ہر سرور فائر وال کو MySQL کی ڈیفالٹ پورٹ، 3306 پر کنکشن کی اجازت دینی چاہیے۔ مثال کے طور پر، آپ کے پاس مکمل طور پر کنفیگرڈ ڈیٹا بیس ہو سکتا ہے، لیکن اگر پورٹ 3306 کو بلاک کر دیا جاتا ہے، تو کوہانا کے ذریعے آپ کی کنکشن کی کوششیں ناکام ہوتی رہیں گی۔ فائر وال کی سیٹنگز کو چیک کرنا اور آئی پی وائٹ لسٹنگ کی تصدیق کرنا وہ ابتدائی اقدامات ہیں جو اس طرح کے کنفیگریشنز کو ترتیب دیتے وقت کافی وقت بچاتے ہیں۔ 🔍

غور کرنے کا ایک اور علاقہ یہ ہے کہ پی ایچ پی مختلف ماحول میں ریموٹ کنکشن کو کس طرح ہینڈل کرتا ہے۔ کچھ معاملات میں، پی ایچ پی کی پی ڈی او ایکسٹینشن میں فال بیک میکانزم ہوتے ہیں جو متوقع کنکشن کے راستے کو بدل سکتے ہیں۔ جیسے اختیارات کو ترتیب دے کر pdo_mysql.default_socket میں php.iniہم پی ایچ پی کے لیے ان فال بیکس پر بھروسہ کیے بغیر جڑنے کے لیے ایک واضح راستہ قائم کرتے ہیں۔ تاہم، آپ کے آپریٹنگ سسٹم اور PHP کے ورژن کے لحاظ سے نیٹ ورک سے متعلق اضافی ترتیبات کی ضرورت ہو سکتی ہے۔ مثال کے طور پر، تاخیر کو کم کرنے کے لیے DNS سیٹنگز کو ترتیب دینا بعض اوقات کنکشن کو مستحکم کر سکتا ہے، خاص طور پر جب کوہانا یا دیگر فریم ورکس کو مخصوص ڈیٹا بیس کنکشن کی ضروریات کے ساتھ استعمال کرتے ہیں۔ ان کو صحیح طریقے سے سنبھالنے سے تاخیر سے متعلق مسائل سے بچنے میں مدد مل سکتی ہے۔

آخر میں، وسیع تر نظام کی ترتیب اہمیت رکھتی ہے۔ اگر PHP کسی VPN کے ذریعے رابطہ قائم کرنے کی کوشش کرتا ہے یا نیٹ ورک عرفی نام استعمال کرتا ہے، تو ترتیب دیں۔ میزبان نام اور ساکٹ راستہ تمام ماحول میں مستقل طور پر کلید ہے۔ اس بات کو یقینی بنانا کہ اس میں شامل تمام سرورز کی مطابقت پذیری نیٹ ورک کنفیگریشنز، DNS کیش کلیئرنسز، اور میزبان نام کے راستوں کو منسلک کرنا اکثر ضروری ہوتا ہے۔ کوہانا کے ساتھ، نیٹ ورک کے ہر جزو کو اس طرح چیک کرنے سے غیر واضح غلطیوں کو روکنے میں مدد ملے گی جو بصورت دیگر صرف پروڈکشن میں یا VPN پر پیدا ہو سکتی ہیں، جو بالآخر ڈیٹا بیس کے رابطے کو ہموار کرنے کا باعث بنتی ہیں۔ 🛠️

کوہانا اور مائی ایس کیو ایل کنکشن کی خرابیوں پر اکثر پوچھے گئے سوالات

  1. کوہانا کو MySQL کے ساتھ استعمال کرتے وقت "No route to host" خرابی کیوں پیش آتی ہے؟
  2. یہ خرابی اکثر نیٹ ورک یا کنفیگریشن کے مسائل کی وجہ سے پیدا ہوتی ہے، جہاں PDO ریموٹ MySQL سرور سے جڑنے میں ناکام۔ عام وجوہات میں فائر وال کی پابندیاں یا غلط IP کنفیگریشنز شامل ہیں۔
  3. سیٹنگ کیسے ہوتی ہے۔ pdo_mysql.default_socket میں php.ini اس غلطی کو حل کرنے میں مدد کریں؟
  4. ترتیب pdo_mysql.default_socket MySQL ساکٹ فائل کو براہ راست راستہ فراہم کرتا ہے، جو پی ایچ پی ڈیفالٹس میں TCP/IP کے بجائے ساکٹ سے کنکشن کو مستحکم کر سکتا ہے۔ یہ یقینی بناتا ہے کہ ڈیٹا بیس کنکشن کا عمل مستقل ہے۔
  5. کیا کردار کرتا ہے persistent کوہانا ڈیٹا بیس کنفیگریشن میں آپشن پلے؟
  6. چالو کرنا PDO::ATTR_PERSISTENT کوہانا کنفیگریشن میں ڈیٹا بیس کنکشن کو درخواستوں کے درمیان کھلا رکھتا ہے۔ یہ ریموٹ ڈیٹا بیس کے لیے مفید ہے کیونکہ یہ کنکشن سیٹ اپ کو کم کرتا ہے اور کارکردگی کو بڑھاتا ہے۔
  7. میں پی ایچ پی میں ریموٹ ایس کیو ایل سرور سے اپنے کنکشن کی جانچ کیسے کرسکتا ہوں؟
  8. جانچنے کے لیے، آپ اسٹینڈ اسٹون پی ایچ پی اسکرپٹ کے ساتھ استعمال کر سکتے ہیں۔ PDO یا MySQL ورک بینچ جیسا ٹول۔ اگر یہ طریقے کام کرتے ہیں، لیکن کوہانا ناکام ہو جاتا ہے، تو ممکنہ طور پر مسئلہ کوہانا کی ترتیب یا پی ایچ پی کی رن ٹائم ترتیبات میں ہے۔
  9. کیا کوہانا کو ریموٹ MySQL سرور کے لیے کسی خاص ترتیب کی ضرورت ہے؟
  10. ہاں، بہت سے معاملات میں، کوہانا میں ریموٹ سرور IP سیٹ کرنا database.php کنفیگریشن فائل، اور نیٹ ورک اور فائر وال کو یقینی بنانا MySQL ٹریفک کی اجازت دینا ضروری ہے۔ آپ کو اپنے ماحول کے لحاظ سے مخصوص ساکٹ پاتھ سیٹ کرنے کی بھی ضرورت پڑسکتی ہے۔

ڈیٹا بیس کنیکٹیویٹی چیلنجز کو لپیٹنا

کنکشن کے مسائل جیسے "میزبانی کا کوئی راستہ نہیں" کی خرابی اکثر ماحول کو ترتیب دینے کے طریقے میں فرق کو نمایاں کرتی ہے۔ جیسے ترتیبات کو ایڈجسٹ کرنا pdo_mysql.default_socket میں php.ini ایک غیر متوقع لیکن مؤثر حل ہو سکتا ہے. ہر چھوٹی ترتیب پی ایچ پی اور کوہانا کو ریموٹ ڈیٹا بیس سے بغیر کسی رکاوٹ کے جڑنے میں مدد کرتی ہے۔

محتاط ٹربل شوٹنگ کے ذریعے — نیٹ ورک کی اجازتوں کی جانچ کرنا، رن ٹائم سیٹنگز کو ایڈجسٹ کرنا، اور ماحول میں مستقل مزاجی کو یقینی بنانا — آپ اس خرابی کو حل کر سکتے ہیں اور مستقبل میں کنیکٹیویٹی کے مسائل کو روک سکتے ہیں۔ کچھ کنفیگریشن ٹویکس کے ساتھ، آپ کو کوہانا میں قابل اعتماد MySQL رسائی حاصل ہوگی۔ 🚀

حوالہ جات اور مزید پڑھنا
  1. PHP اور MySQL کنفیگریشن بصیرت کے لیے، خاص طور پر ریموٹ ڈیٹا بیس کنکشن اور نیٹ ورک کی خرابیوں کا سراغ لگانے سے متعلق: پی ایچ پی: پی ڈی او کنکشنز - پی ایچ پی دستاویزات
  2. کوہانا فریم ورک سیٹ اپ اور ڈیٹا بیس کنفیگریشن پر تفصیلی معلومات: کوہانا ڈیٹا بیس کنفیگریشن - کوہانا فریم ورک گائیڈ
  3. PDO اور MySQL کے ساتھ SQLSTATE کی خرابیوں کے لیے مزید ٹربل شوٹنگ رہنمائی: اسٹیک اوور فلو - SQLSTATE[HY000] [2002] میزبانی کا کوئی راستہ نہیں۔