PDO_MYSQL هو محرك يقوم بتنفيذ واجهة PHP Data Objects (PDO) لتمكين الوصول من PHP إلى قواعد بيانات MySQL. عند تشغيل إصدار PHP قبل 7.1.16 أو PHP 7.2 قبل 7.2.4 ، قم بتعيين المكون الإضافي الافتراضي لكلمة مرور MySQL 8 Server على mysql_native_password وإلا سترى أخطاء مشابهة لطريقة المصادقة المطلوبة من الخادم غير المعروفة للعميل [caching_sha2_password] حتى عند caching_sha2_password هو ليس مستخدما. هذا بسبب تعيين MySQL 8 افتراضيًا على caching_sha2_password ، وهو مكون إضافي لم يتم التعرف عليه بواسطة إصدارات PHP (mysqlnd) الأقدم. بدلاً من ذلك ، قم بتغييره عن طريق الإعداد. سيتم دعم المكون الإضافي caching_sha2_password في إصدار PHP مستقبلي. في غضون ذلك ، يدعمها امتداد mysql_xdevapi. تحذير تحذير: بعض أنواع جداول MySQL (محركات التخزين) لا تدعم المعاملات. عند كتابة رمز قاعدة بيانات المعاملات باستخدام نوع جدول لا يدعم المعاملات ، سوف تتظاهر MySQL بأن المعاملة قد بدأت بنجاح. بالإضافة إلى ذلك ، فإن أي استعلامات DDL الصادرة ستؤدي ضمنيًا إلى أي معاملات معلقة. لا يدعم برنامج تشغيل MySQL بشكل صحيح عبر PDOStatement :: bindParam بينما يمكن استخدام هذه المعلمات ، لا يتم تحديثها (أي يتم تجاهل الإخراج الفعلي) تتضمن توزيعات Unix الشائعة إصدارات ثنائية من PHP يمكن تثبيتها. على الرغم من أن هذه الإصدارات الثنائية عادةً ما يتم إنشاؤها بدعم امتدادات MySQL ، فقد تحتاج مكتبات الامتدادات نفسها إلى التثبيت باستخدام حزمة إضافية. تحقق من مدير الحزم الذي يأتي مع التوزيع الذي اخترته للتأكد من توفره. على سبيل المثال ، في Ubuntu ، تقوم الحزمة بتثبيت الامتدادات ext / mysql و ext / mysqli و PDO_MYSQL PHP. في CentOS ، تقوم الحزمة أيضًا بتثبيت امتدادات PHP الثلاثة هذه. بدلاً من ذلك ، يمكنك تجميع هذا الامتداد بنفسك. يتيح لك إنشاء PHP من المصدر تحديد امتدادات MySQL التي تريد استخدامها ، بالإضافة إلى اختيارك لمكتبة العميل لكل امتداد. عند التحويل البرمجي ، استخدم --with-pdo-mysql [= DIR] لتثبيت ملحق PDO MySQL ، حيث يكون الخيار الاختياري هو مكتبة قاعدة MySQL. Mysqlnd هي المكتبة الافتراضية. للحصول على تفاصيل حول اختيار مكتبة ، راجع اختيار مكتبة MySQL. اختياريًا ، يتم تعيين --with-mysql-sock [= DIR] على الموقع إلى مؤشر مقبس يونكس MySQL لجميع امتدادات MySQL ، بما في ذلك PDO_MYSQL. إذا كان غير محدد ، يتم البحث في المواقع الافتراضية. اختياريًا ، يتم استخدام --with-zlib-dir [= DIR] لتعيين المسار إلى بادئة تثبيت libz. يتم تمكين دعم SSL باستخدام ثوابت PDO_MySQL المناسبة ، وهو ما يعادل استدعاء Ã Â Ã Â »وظيفة MySQL C API mysql_ssl_set أيضًا ، لا يمكن تمكين SSL مع PDO :: setAttribute لأن الاتصال موجود بالفعل. راجع أيضًا وثائق MySQL حول Ã Â Ã Â »الاتصال بـ MySQL باستخدام SSL يتم تحديد الثوابت أدناه بواسطة برنامج التشغيل هذا ، وستكون متاحة فقط عندما يتم تجميع الامتداد في PHP أو تحميله ديناميكيًا في وقت التشغيل. بالإضافة إلى ذلك ، يجب استخدام هذه الثوابت الخاصة ببرنامج التشغيل فقط إذا كنت تستخدم برنامج التشغيل هذا. قد يؤدي استخدام السمات الخاصة ببرنامج التشغيل مع برنامج تشغيل آخر إلى حدوث سلوك غير متوقع. يمكن استخدام PDO :: getAttribute () للحصول على السمة للتحقق من برنامج التشغيل ، إذا كان يمكن تشغيل التعليمات البرمجية الخاصة بك مع برامج تشغيل متعددة. على a ، سيستخدم برنامج تشغيل MySQL الإصدارات المخزنة مؤقتًا من MySQL API. إذا كنت تكتب رمزًا محمولًا ، فيجب عليك استخدامه بدلاً من ذلك. إذا تم تعيين هذه السمة إلى a ، فسيستخدم مشغل MySQL الإصدارات المخزنة مؤقتًا من MySQL API. إذا كنت تكتب رمزًا محمولًا ، فيجب عليك استخدامه بدلاً من ذلك. المثال 1: فرض تخزين الاستعلامات مؤقتًا في mysql "يعمل تطبيقي فقط مع mysql ؛ يجب أن أستخدم \ $ stmt->fetchAll () بدلاً من ذلك"ملاحظة ، لا يمكن استخدام هذا الثابت إلا في المصفوفة عند إنشاء معالج قاعدة بيانات جديد. يسمح بتقييد تحميل البيانات المحلية على الملفات الموجودة في هذا الدليل المعين. متاح اعتبارًا من PHP 8.1.0. لاحظ أنه لا يمكن استخدام هذا الثابت إلا في المصفوفة عند إنشاء معالج قاعدة بيانات جديد. أمر يتم تنفيذه عند الاتصال بخادم MySQL. سيتم إعادة تنفيذه تلقائيًا عند إعادة الاتصال. لاحظ أنه لا يمكن استخدام هذا الثابت إلا في المصفوفة عند إنشاء معالج قاعدة بيانات جديد. قراءة الخيارات من ملف الخيار المسمى بدلاً من من. هذا الخيار غير متاح إذا تم استخدام mysqlnd ، لأن mysqlnd لا يقرأ ملفات تكوين mysql. قراءة الخيارات من المجموعة المسماة من أو الملف المحدد بـ. هذا الخيار غير متاح إذا تم استخدام mysqlnd ، لأن mysqlnd لا يقرأ ملفات تكوين mysql. الحد الأقصى لحجم المخزن المؤقت. افتراضات إلى 1 ميغا بايت. لا يتم دعم هذا الثابت عند تجميعه مقابل mysqlnd. قم بإرجاع عدد الصفوف التي تم العثور عليها (المتطابقة) ، وليس عدد الصفوف التي تم تغييرها. مسار الملف إلى المرجع المصدق لـ SSL. مسار الملف إلى الدليل الذي يحتوي على شهادات SSL CA الموثوقة والمخزنة بتنسيق PEM. مسار الملف إلى شهادة SSL. قائمة بواحد أو أكثر من الأصفار المسموح باستخدامها لتشفير SSL ، بتنسيق مفهوم بواسطة OpenSSL. على سبيل المثال: مسار الملف إلى مفتاح SSL. يوفر طريقة لتعطيل التحقق من شهادة SSL للخادم. هذا موجود اعتبارًا من PHP 7.0.18 و PHP 7.1.4. تعطيل تنفيذ الاستعلامات المتعددة في كل من PDO :: Prepar () و PDO :: query () عند التعيين على. لاحظ أنه لا يمكن استخدام هذا الثابت إلا في المصفوفة عند إنشاء معالج قاعدة بيانات جديد يتأثر سلوك هذه الوظائف بالإعدادات في. لمزيد من التفاصيل والتعريفات لأوضاع PHP_INI_ * ، ​​راجع لمزيد من التفاصيل والتعريفات لأوضاع PHP_INI_ * ، ​​راجع مكان تعيين إعداد التكوين لتعيين مقبس مجال Unix. يمكن تعيين هذه القيمة في وقت الترجمة إذا تم العثور على مقبس مجال عند التكوين. إعداد ini هذا هو نظام Unix فقط. تمكن من تصحيح الأخطاء لـ PDO_MYSQL. هذا الإعداد متاح فقط عندما يتم ترجمة PDO_MYSQL مقابل mysqlnd وفي وضع تصحيح PDO.