Amir Alsaeed نشر 19 مارس 2021 أرسل تقرير نشر 19 مارس 2021 (معدل) أحاول الاتصال مع قاعدة بيانات من نوع PostgreSQL في لارافيل لإجراء التهجير على البيانات. ولكنه لا يتم التعرف على القاعدة ويأخذ اسم قاعدة البيانات من Mysql بدلاً منها. لقد قمت بإضافة الاتصال ضمن database.php: 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), 'pgsql' => array( 'driver' => 'pgsql', 'host' => 'localhost', 'database' => 'testdb', 'username' => 'user123', 'password' => '', 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', ), وقد حاولت حذف الاتصال التابع لMysql لتجنب هذه المشكلة ولكن يظهر لدي الخطأ التالي: [InvalidArgumentException] Database [mysql] not configured. فما هي المشكلة هنا؟ لماذا لا يتم التعرّف على الاتصال مع pgsql؟ تم التعديل في 19 مارس 2021 بواسطة Amir Alsaeed اقتباس
0 Sam Ahw نشر 19 مارس 2021 أرسل تقرير نشر 19 مارس 2021 يجب التأكد من تعديل قيمة default لتشير إلى postgre ضمن ملف app/config/database.php: 'default' => 'postgres', وفي حال بقي الخطأ التالي بالظهور: [PDOException] could not find driver يجب التأكد من إضافة الإعدادات اللازمة في ملف php.ini وتثبيت الإضافة pdo_pgsql.so و pgsql.so وتفعيلهما. وفي حال كان نظام التشغيل ويندوز يمكن التوجه لملف PHP وإلغاء التعليق على الإضافات التالية: extension=pdo_pgsql.so extension=pgsql.so أما لنظام تشغيل Ubuntu: sudo apt-get install php7.0-pgsql مع تعديل نسخة php بالنسخة الموجودة لديك. وأخيراً، بعد هذه التعديلات، يجب التأكد من القيم الموضوعة ضمن ملف .env في لارافيل بالشكل الموافق لإعدادات قاعدة البيانات. ومن الممكن أيضاً الحاجة لإضافة متغيرات البيئة Environment Variables وإضافة المسار الخاص بـ bin التابع ل postgreSql على جهازك. 1 اقتباس
0 Waleed Alfakiat نشر 19 مارس 2021 أرسل تقرير نشر 19 مارس 2021 في ملف .env قم بتغيير نوع قاعدة البيانات من mysql إلى pgsql DB_CONNECTION=pgsql DB_HOST=<your_database_IP_address> DB_PORT=5432 DB_DATABASE=postgres_database DB_USERNAME=postgres_username DB_PASSWORD=postgres_password اقتباس
0 بلال زيادة نشر 19 مارس 2021 أرسل تقرير نشر 19 مارس 2021 قبل أي تعديل يمكنك التأكد من extension=pdo_pgsql extension=pgsql في ملف php.ini و إزالة ; (الفاصلة المنقوطة) و يمكنك من خلال ملف .env تغيير قيمة الأتصال و اختيار connection الذي تريده فتصبح DB_CONNECTION=pgsql وتغيير قيم إلى ما يناسب اتصالك. DB_HOST=<your_database_IP_address> DB_PORT=5432 DB_DATABASE=postgres DB_USERNAME=postgres DB_PASSWORD=postgres اقتباس
السؤال
Amir Alsaeed
أحاول الاتصال مع قاعدة بيانات من نوع PostgreSQL في لارافيل لإجراء التهجير على البيانات. ولكنه لا يتم التعرف على القاعدة ويأخذ اسم قاعدة البيانات من Mysql بدلاً منها.
لقد قمت بإضافة الاتصال ضمن database.php:
'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), 'pgsql' => array( 'driver' => 'pgsql', 'host' => 'localhost', 'database' => 'testdb', 'username' => 'user123', 'password' => '', 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', ),
وقد حاولت حذف الاتصال التابع لMysql لتجنب هذه المشكلة ولكن يظهر لدي الخطأ التالي:
[InvalidArgumentException] Database [mysql] not configured.
فما هي المشكلة هنا؟ لماذا لا يتم التعرّف على الاتصال مع pgsql؟
تم التعديل في بواسطة Amir Alsaeed3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.