Laravel-OCI8 عبارة عن حزمة برامج تشغيل قاعدة بيانات Oracle لـ Laravel. Laravel-OCI8 هو امتداد لـ Illuminate/Database الذي يستخدم امتداد OCI8 للتواصل مع Oracle. بفضل @ تايلوروتويل.
ستجد وثائق سهلة الاستخدام ومحدثة هنا: Laravel-OCI8 Docs
كل ما يتعلق بـ oracle وphp: دليل PHP وOracle تحت الأرض
لارافيل | طَرد |
---|---|
5.1.x | 5.1.x |
5.2.x | 5.2.x |
5.3.x | 5.3.x |
5.4.x | 5.4.x |
5.5.x | 5.5.x |
5.6.x | 5.6.x |
5.7.x | 5.7.x |
5.8.x | 5.8.x |
6.x | 6.x |
7.x | 7.x |
8.x | 8.x |
9.x | 9.x |
10.x | 10.x |
11.x | 11.x |
يتطلب الملحن yajra/laravel-oci8:^11
بمجرد قيام Composer بتثبيت أو تحديث حزمك، ستحتاج إلى تسجيل Laravel-OCI8. افتح config/app.php
وابحث عن مفتاح الموفرين وأضف:
YajraOci8Oci8ServiceProvider::class,
وأخيرًا، يمكنك اختياريًا نشر ملف التكوين عن طريق تشغيل أمر Artisan التالي. إذا لم يتم نشر ملف التكوين، فستستخدم الحزمة تلقائيًا ما تم الإعلان عنه في تكوين قاعدة بيانات ملف .env
الخاص بك.
بائع PHP الحرفي: نشر --tag=Oracle
سيؤدي هذا إلى نسخ ملف التكوين إلى config/oracle.php
.
ملاحظة: بالنسبة لتكوين Laravel Lumen، تأكد من أن لديك ملف
config/database.php
في مشروعك وألحق التكوين أدناه:
'Oracle' => ['driver' => 'Oracle','tns' => env('DB_TNS', ''),'host' => env('DB_HOST', ''),'port' => env('DB_PORT', '1521'),'database' => env('DB_DATABASE', ''),'service_name' => env('DB_SERVICE_NAME', ''),'username' => env('DB_USERNAME', ''),'password' => env('DB_PASSWORD', ''),'charset' => env('DB_CHARSET', 'AL32UTF8'), 'prefix' => env('DB_PREFIX', ''),'prefix_schema' => env('DB_SCHEMA_PREFIX', ''),'edition' => env('DB_EDITION', 'ora$base'),'server_version' => env('DB_SERVER_VERSION', '11g'),'load_balance' => env('DB_LOAD_BALANCE', 'yes'),'dynamic' => [],'max_name_len' => env('ORA_MAX_NAME_LEN', 30), ]،
بعد ذلك، يمكنك تعيين بيانات الاتصال في ملفات
.env
الخاصة بك:
DB_CONNECTION=oracleDB_HOST=oracle.hostDB_PORT=1521DB_SERVICE_NAME=orclDB_DATABASE=xeDB_USERNAME=hrDB_PASSWORD=hr
إذا كنت تريد الاتصال بمجموعة تحتوي على مضيفين متعددين، فيمكنك إما تعيين
tns
يدويًا أو تعيين المضيف كمصفوفة مفصولة بفواصل وتكوين الحقول الأخرى كما تريد:
DB_CONNECTION=oracleDB_HOST=oracle1.host, oracle2.hostDB_PORT=1521DB_SERVICE_NAME=orclDB_LOAD_BALANCE=noDB_DATABASE=xeDB_USERNAME=hrDB_PASSWORD=hr
إذا كنت بحاجة إلى الاتصال باسم الخدمة بدلاً من tns، فيمكنك استخدام التكوين أدناه:
'Oracle' => ['driver' => 'Oracle','host' => 'Oracle.host','port' => '1521','database' => 'xe','service_name' => ' sid_alias','username' => 'hr','password' => 'hr','charset' => '','prefix' => '', ]
في بعض الحالات، قد ترغب في تعيين معلمات الاتصال ديناميكيًا في تطبيقك. على سبيل المثال، يمكنك الوصول إلى أكثر من قاعدة بيانات واحدة، أو قد يكون لدى المستخدمين حساباتهم الخاصة بالفعل في قاعدة بيانات Oracle:
'Oracle' => ['driver' => 'Oracle','host' => 'Oracle.host','port' => '1521','service_name' => 'sid_alias','prefix' => ' schemaowner','dynamic' => [AppModelsOracleConfig::class, 'dynamicConfig'], ]
يجب أن تكون وظيفة رد الاتصال في تطبيقك ثابتة وتقبل الإشارة إلى المصفوفة $config[]
(والتي سيتم ملؤها بالفعل بالقيم المعينة في ملف التكوين):
مساحة الاسم AppModelsOracle;class Config {public static functiondynamicConfig(&$config) {if (IlluminateSupportFacadesAuth::check()) {$config['username'] = AppOracleConfig::getOraUser();$config['password'] = AppOracleConfig ::getOraPass(); } } }
ثم قم بتشغيل تثبيت Laravel الخاص بك ...
افتراضيًا، يقتصر اسم كائن قاعدة البيانات على 30 حرفًا. لزيادة الحد، يمكنك تعيين ORA_MAX_NAME_LEN=128
في ملف .env
الخاص بك.
ملاحظة: يتطلب هذا التكوين Oracle 12c02 أو أعلى .
عند استخدام أوراكل، قد نواجه مشكلة في المصادقة لأن استعلامات أوراكل حساسة لحالة الأحرف بشكل افتراضي. باستخدام موفر مستخدم Oracle هذا، سنكون الآن قادرين على تجنب مشكلات المستخدم عند تسجيل الدخول وفشل نسيان كلمة المرور بسبب البحث الحساس لحالة الأحرف.
للاستخدام، ما عليك سوى تحديث تكوين auth.php
وتعيين برنامج التشغيل على oracle
'providers' => ['users' => ['driver' => 'Oracle','model' => AppUser::class, ]، ]
اراجي انجليس
جيمي فيلدر
جميع المساهمين
رخصة معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.