it-swarm.asia

تثبيت برنامج تشغيل PDO على خادم MySQL Linux

لقد تم اقتراحي ، منذ وقت ليس ببعيد ، تغيير الرمز الخاص بي لاستخدام PDO من أجل تحديد معلمات استعلاماتي وحفظ HTML بأمان في قاعدة البيانات.

حسنًا ، إليكم المشاكل الرئيسية:

  1. نظرت إلى http://php.net/manual/ar/ref.pdo-mysql.php ، وأنا لا أحصل حقًا على المكان الذي يجب أن أضع فيه سلسلة $ ./configure --with-pdo-mysql ...

  2. الموقع الذي أقوم بإنشائه يتطلب بالفعل PDO لصفحة واحدة فقط. على الرغم من أنني قد أفكر في إعادة كتابته ، إلا أن الأمر سيستغرق بعض الوقت وأحتاج إلى تشغيل الصفحات قريبًا ، لذلك لا يمكنني إيقاف تشغيل MySQL بالكامل. إذا قمت بتثبيت PDO ، هل سأظل قادرًا على استخدام معالجات mysql_*؟

خادم السؤال قيد التشغيل PHP الإصدار 5.4.6-1ubuntu1 و Apache/2.2.22 (Ubuntu). أنا أيضا تشغيل قاعدة بيانات phpMyAdmin ، إذا كان ذلك يهم.

94
Yuri Scarbaci

على Ubuntu ، يجب أن تكون قادرًا على تثبيت أجزاء PDO الضرورية من apt باستخدام Sudo apt-get install php5-mysql

لا يوجد أي قيود بين استخدام PDO و mysql_ في وقت واحد. ومع ذلك ، ستحتاج إلى إنشاء اتصالين إلى قاعدة بياناتك ، أحدهما باستخدام mysql_ والآخر باستخدام PDO.

175
Jani Hartikainen

هذا سؤال جيد ، لكنني أعتقد أنك تسيء فهم ما قرأته.

تثبيت PDO

./config --with-pdo-mysql هو شيء يجب أن تضعه فقط إذا قمت بترجمة الكود PHP الخاص بك. إذا قمت بتثبيته مع مديري الحزم ، فعليك فقط استخدام سطر الأوامر المقدم من Jany Hartikainen: Sudo apt-get install php5-mysql وأيضًا Sudo apt-get install pdo-mysql

التوافق مع mysql_

بصرف النظر عن حقيقة أن mysql_ محبط حقًا ، فهما مستقلان. إذا كنت تستخدم PDO mysql_ غير متورط ، وإذا كنت تستخدم mysql_ PDO فهو غير مطلوب.

إذا قمت بإيقاف تشغيل PDO دون تغيير أي سطر في التعليمات البرمجية الخاصة بك ، فلن تواجه مشكلة. ولكن منذ أن بدأت الاتصال واستعلامات الاستعلامات مع PDO ، يجب عليك الاحتفاظ به والتخلي عن mysql_.

منذ عدة سنوات ، نشر فريق MySQL برنامج نصي ل انتقل إلى MySQLi . لا أعرف ما إذا كان يمكن تخصيصها ، لكنها رسمية.

24
artragis

في الأساس الجواب من جاني هاركيكينين هو الصحيح! أنا أبطأ جوابه. ما كان مفقودًا على نظامي (استنادًا إلى Ubuntu 15.04) هو تمكين امتداد PDO في php.ini

extension=pdo.so
extension=pdo_mysql.so

أعد تشغيل خادم الويب (على سبيل المثال مع "Sudo service Apache2 restart") -> كل غرامة :-)

للعثور على موقع ملف php.ini النشط الحالي ، يمكنك استخدام phpinfo () أو بعض التلميحات الأخرى من هنا: https://www.ostraining.com/blog/coding/phpini-file/

15
Tobias Gaertner
  1. PDO تعني PHP كائن البيانات.
  2. PDO_MYSQL هو برنامج التشغيل الذي سيقوم بتنفيذ الواجهة بين dataobject (قاعدة البيانات) وإدخال المستخدم (طبقة تحت واجهة المستخدم تسمى "code behind") للوصول إلى كائن البيانات الخاص بك ، قاعدة بيانات MySQL.

الغرض من استخدام هذا هو تطبيق طبقة إضافية من الأمان بين واجهة المستخدم وقاعدة البيانات. باستخدام هذه الطبقة ، يمكن تطبيع البيانات قبل إدراجها في بنية البيانات الخاصة بك. (العواصم هي عواصم ، بدون مسافات بادئة أو زائدة ، جميع التواريخ يتم تشكيلها بشكل صحيح.)

ولكن هناك بعض الفروق الدقيقة في هذا الأمر والتي قد لا تكون على دراية بها.

بادئ ذي بدء ، حتى الآن ، ربما تكون قد كتبت جميع استفساراتك في شيء مشابه لعنوان URL ، وتمرير المعلمات باستخدام URL نفسه. باستخدام PDO ، كل هذا يتم تحت مستوى واجهة المستخدم. تقوم واجهة المستخدم بتسليم الكرة إلى شركة تنمية نفط عمان التي تنقلها إلى أسفل وتزرعها في قاعدة البيانات من أجل 7 نقاط TOUCHDOWN .. يحصل على سبع نقاط ، لأنه حصل عليها هناك وقام بأمان أكثر بكثير من تمرير المعلومات عبر عنوان URL .

يمكنك أيضًا تقوية موقعك بـ حقن SQL باستخدام طبقة بيانات. باستخدام هذه الطبقة الوسيطة التي تمثل "اللاعب" الوحيد الذي يتحدث إلى قاعدة البيانات نفسها ، أنا متأكد من أنك تستطيع أن ترى كيف يمكن أن يكون هذا أكثر أمانًا. واجهة datalayer لقاعدة البيانات ، datalayer لقاعدة البيانات إلى datalayer إلى واجهة.

و:

من خلال تطبيق أفضل الممارسات أثناء كتابة التعليمات البرمجية الخاصة بك ، سوف تكون أكثر سعادة مع النتيجة.

مصادر إضافية:

رد: وظائف الخلية في url php dot net/manual/en/ref dot pdo-mysql dot php

رد: بنية ثلاثية الطبقات - إضافة أمان إلى تطبيقاتك https://blog.42.nl/articles/introducing-a-security-layer-in-your-application-architecture/

Re: Object Oriented Design باستخدام UML إذا كنت تريد حقًا معرفة المزيد حول هذا ، فهذا هو أفضل كتاب في السوق ، وكان Grady Booch والد UML http://dl.acm.org/citation.cfm؟id = 291167 & CFID = 241218549 و CFTOKEN = 82813028

أو تحقق مع bitmonkey. هناك مجموعة هناك أنا متأكد من أنك يمكن أن تتعلم الكثير معها.

>

إذا كنا نعرف معنى المصطلحات حقًا ، فلن نحتاج إلى تعلم أي شيء.

>

7
Elaine Ossipov

في البداية ، قم بتثبيت أجزاء PDO الضرورية عن طريق تشغيل الأمر Sudo apt-get install php*-mysql حيث * هو اسم إصدار php مثل 5.6 ، 7.0 ، 7.1 ، 7.2 بعد التثبيت ، يجب أن تذكر (إلغاء التثبيت إذا كان هناك بالفعل) هاتان العبارتان

extension=pdo.so
extension=pdo_mysql.so

في ملف .ini الخاص بك وإعادة تشغيل الخادم الخاص بك عن طريق الأوامر

Sudo service Apache2 restart
5
Avnish alok

إذا كنت بحاجة إلى حاوية Docker لـ CakePHP مع MySQL ، فقد أنشأت صورة Docker لهذا الغرض! لا داعي للقلق بشأن إعداده. إنه يعمل فقط!

إليك كيفية تثبيتها في صورة تستند إلى Ubuntu:

https://github.com/marcellodesales/php-Apache-mysql-4-cakephp-docker/blob/master/Dockerfile#L8

RUN docker-php-ext-install mysql mysqli pdo pdo_mysql

بناء التطبيق وتشغيله هو مجرد عملية من خطوتين (بالنظر إلى أنك في الدليل الحالي للتطبيق):

$ docker build -t myCakePhpApp .
$ docker run -ti myCakePhpApp
0
Marcello de Sales