it-swarm.dev

Php - PHP يبدو أن التثبيت يفتقد إلى ملحق MySQL المطلوب بواسطة WordPress

كيف يمكنني إصلاح الخطأ أدناه؟

يبدو أن التثبيت الخاص بك PHP) يفتقد إلى ملحق MySQL المطلوب بواسطة WordPress.

يمكنني استخدام بلدي NAS مع اتصال التلنت.

لقد قمت بتثبيت FFP 0.7

بلدي php.ini موجود في: ffp/etc/php.ini وأنا غير مطمئن لكل شيء اعتقدت أنه مفيد.

يوجد أدناه جزء من ملفي php.ini ؛

;If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
extension=msql.dll
;
; ... or under UNIX:
;
extension=msql.so
;
; ... or with a path:
;
extension=/ffp/lib/extensions/no-debug-non-zts-20100525/mysql.so
;


extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=pdo.so
extension=pdo_sqlite.so
extension=sqlite.so
extension=pdo_mysql.so

المشكلة المعلقة هي أنه عندما أقوم بتشغيل phpinfo() ، أرى الوحدة MySQLi مفعلة ولكن ليس MySQL.

يعمل MySQL كما هو متوقع تمامًا مثل PHP وخادم الويب Lighttpd.

لدي بالتساوي phpmyadmin العمل.

انها على ZYXEL NSA310.

أيضًا ، عند بدء mysqld ، فإنه ينشئ اختصارًا من الجذر الخاص بي إلى: ffp/opt/mysql.. وفي كل مرة أقوم بإعادة تشغيل NAS يتم حذف الاختصار.

لا أحد قد يعرف خدعة لهذا؟

31
Roald Van Der Tempel

تم إهمال php mysql api. انها kaput --- الذهاب بعيدا - لا تستخدم ، finito.

إذا كان لديك إصدار حديث من PHP (> 5.6) ثم Wordpress يجب أن يتحول تلقائيًا للاستفادة من mysqli. ينبغي أن تكون هذه هي المحاولة الأولى.

إذا لم تتمكن من تحديث php الخاص بك ، بدلاً من محاولة إحياء شيء لم يعد php يدعمه ، فما عليك سوى تصحيح وورد الخاص بك: http://wordpress.org/plugins/mysqli/

27
gview

في النهاية ، وجدت حلاً أولاً ، تأكد من تشغيل خادم MySQL. اكتب الأمر التالي في موجه Shell: # /etc/init.d/mysql status

إذا لم يكن MySQL قيد التشغيل ، فأدخل: # /etc/init.d/mysql start

إذا لم يتم تثبيت MySQL ، اكتب الأمر التالي لتثبيت خادم MySQL: # apt-get install mysql-server

تأكد من تثبيت MySQL module for php5: # dpkg --list | grep php5-mysql

لتثبيت وحدة php5-mysql ، أدخل: # apt-get install php5-mysql

بعد ذلك ، أعد تشغيل خادم الويب Apache2: # /etc/init.d/Apache2 restart

38
marcboffin

عملت مكتبة MySQL هذه على:

Sudo apt-get install php5-mysqlnd-ms
10
ashishyadaveee11

افحص ال

extension_dir =

إزالته إذا كان هناك. يجب أن يحل المشكلة.

7
pravchuk

عندما تقوم بترقية إصدار php الخاص بك ، تأكد ، يلي Apache2. يمكنك إنشاء ملف phpinfo () يمكن أن يوضح أن Apache لا يزال يستخدم إصدار php القديم.

في هذه الحالة ، يجب عليك استخدام أوامر a2dismod php-old-version و a2enmon php-mod-version

مثال:

في أوبونتو ، احصل على الإصدار القديم من/etc/Apache2/mods الممكّن ، أو من الإصدار الموضح بواسطة ملف phpinfo ، ويمكنك الحصول على الإصدار الجديد من/etc/Apache2/mods-available

> Sudo a2dismod php5.6
> Sudo a2enmod php7.1
> Sudo service Apache2 restart
4
amine

إذا كان الناس يستخدمون استضافة Linux مشتركة مع cPanel (Godaddy ، أو Reseller club ، أو Hostgator ، أو أي استضافة مشتركة) ، فحاول القيام بما يلي:

ضمن علامة التبويب البرامج والخدمات -> حدد PHP الإصدار -> PHP المحددون | الامتدادات

ضع علامة على جميع ملحقات MySQL ذات الصلة ، واحفظها وانت انتهيت. يرجى التحقق من الصورة المرفقة.

Image showing the extensions in cPanel

4
subhash Porje

يتم إنشاء هذا الخطأ بواسطة WP الملف الأساسي / wp-include/load.php واسم الوظيفة هو wp_check_php_mysql_versions().

الإصدارات القديمة من WP لا تدعم MySqli. لكن الأحدث WP الإصدارات تدعم كلاً من MySql و MySqli الامتدادات بدون عناء تثبيت = PHP الإصدارات .

حل مشكلتي 100 ٪

في حالتي ، أنا فقط تم تحديث Wordpress الملفات الأساسية يدويًا وحل المشكلة :)

4
Reza Mamun

إذا كان لديك المكوّن الإضافي Wordfence مثبتًا ، فقد وجدت التعليق على خطوط suPHP_ConfigPath في ملف .htaccess أعادت موقع الويب إلى الحياة:

# Wordfence WAF
#<IfModule mod_suphp.c>
#   suPHP_ConfigPath '/home/a1614947/public_html'
#</IfModule>

لقد أبلغت هذا إلى Wordfence أيضًا.

4
Dan Snik

أنا أستخدم Fedora 25

Sudo dnf search php | grep mysql

php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php-pear-MDB2-Driver-mysqli.noarch : MySQL Improved MDB2 driver mysqli

Sudo dnf install php-mysqlnd.x86_64
3
Ng Zhong Qin

ربما السبب هو إهمال php mysql api. إذا كان استخدامك أدناه <PHP5.5 ، فما عليك سوى تحديث في الخادم الخاص بك إلى 5.6 وما فوق.

3
Raj008

في حالتي ، باستخدام CPanel PHP محددًا وتحديد mysqli و mysqlnd عملت. تأكد من الحفظ وإعادة الفحص مرة واحدة

2
Francis DSouza

واجهت نفس المشكلة كما ذكر "يبدو أن التثبيت الخاص بك PHP يفقد امتداد MySQL المطلوب من قبل WordPress" في استضافة resellerclub.

ذهبت من خلال هذا الموضوع ، وعلمت أن إصدار php يجب أن يكون أكبر من> 5.6 بحيث wordpress سيتم تحويله تلقائيًا إلى mysqli

بعد ذلك ، قمت بتسجيل الدخول إلى لوحة التحكم الخاصة بي والتي تم البحث فيها عن php في لوحة المفاتيح للتحقق من وجود الإصدار ، ولحسن الحظ تمكنت من العثور على أن إصدار php الخاص بي كان 5.2 وتغييره إلى 5.6 من خلال التأكد من وضع علامة mysqli على علامة في نافذة الخيار وحفظها تعمل بشكل جيد الآن.

1
Mallesh.N

مجرد تثبيت apt-get install php5-mysqlnd إعادة تشغيل Apache إعادة تشغيل خدمة Apache2

1
MOHAMED RAIYAN

عندما قمت بترقية موقع الويب الخاص بي PHP من الإصدار 5.6 إلى 7.2 ، واجهت هذه المشكلة "يبدو أن التثبيت الخاص بك PHP يفقد ملحق MySQL المطلوب بواسطة WordPress ". اتضح أن تمديد mysql لم يعد مدعومًا في PHP الإصدار 7.2. إنه يستخدم الآن تمديد mysqli. أنا أستخدم الإصدار القديم من WordPress الذي لا تزال تستخدم ملحق mysql وهذا هو السبب في وجود المشكلة ، فما فعلته هو ترقية WordPress إلى النواة. هذا يحل المشكلة.

إليك الخطوات التي اتبعتها عند الترقية WordPress يدويًا.

  1. أولاً ، قمت بإنشاء نسخة احتياطية كاملة من موقعي. هذا مهم جدا في حالة الخطأ.
  2. قمت بتنزيل أحدث WordPress ملف مضغوط من Wordpress.org.
  3. قمت بفك ضغط الملف إلى دليل محلي لجهاز الكمبيوتر الخاص بي.
  4. ذهبت إلى دليل جذر موقعي وحذفت دلائل "wp-include" و "wp-admin". لقد استخدمت اتصال sFTP باستخدام برنامج Filezilla.
  5. لقد حمّلت أدلة wp-include الجديدة ودلائل wp-admin من الإصدار الجديد من WordPress لقد قمت بالضغط على دليل جذر موقع الويب الخاص بي واستبدلت الدلائل التي حذفتها للتو.
  6. لم أحذف دليل محتوى wp أو أي من الملفات الموجودة في هذا الدليل. لقد قمت للتو بنسخ الملفات من دليل محتوى wp في الإصدار الجديد من WordPress إلى دليل محتوى wp الحالي الخاص بي. لقد تمت الكتابة فوق جميع الملفات الموجودة التي تحمل الاسم نفسه.
  7. لقد قمت بنسخ جميع الملفات من دليل الجذر ('/') الخاص بالإصدار الجديد من WordPress التي قمت بفك ضغطها في دليل جذر موقع الويب الخاص بي (أو دليل الجذر الخاص بك WordPress التثبيت). تمت الكتابة فوق الملفات الموجودة وتم نسخ الملفات الجديدة. لم يتأثر ملف wp-config.php لأن WordPress لم يوزع مطلقًا باستخدام wp-config.php ملف.
  8. أقارن wp-config-sample.php الذي تم توزيعه بـ WordPress لكن لم أجد شيئًا لتغييره ، لذا فقد استخدمت القديم فقط.
  9. قمت بمسح ذاكرة التخزين المؤقت للمتصفح الخاصة بي لضمان إمكانية رؤية كل التغييرات.
  10. لقد راجعت الموقع وليس هناك خطأ الآن. تم الانتهاء من الترقية.
1
Jason Torremocha

تأكد من وضع علامة Mysqli و mysqlnd كما هو موضح في لقطة الشاشة enter image description here

1
csandreas1

كانت هذه المشكلة بسبب عدم وجود قاعدة بيانات. إذا كان تثبيتًا جديدًا ، فأنت بحاجة إلى إنشاء واحد يدويًا وتعيين المستخدم بامتيازات.

يرجى التحقق من wp-config.php لمعرفة أي تهيئات سيئة وتأكد من أن قواعد البيانات والجداول ليست مفقودة أو تالفة.

1
antony_sebastian

2019/08/28

بعد مرور ما يقرب من سبع سنوات ، يستمر هذا في الحصول على إجابات مختلفة: † كثيرون يشبهون - ولكن لا شيء مماثل - ما كان يعمل معي. وإليك ما عملت بالنسبة لي (خادم أوبونتو).

نقل موقع إلى خادم جديد ، نسيت تثبيت PHP MySQL module/extension. ركضت بسرعة

apt-get install php-mysql

وثم

apachectl restart

بادا بنج. لا php5 ، php7 ؛ خطه فقط php-mysql.


one الكشف عن أحد الجوانب السلبية القليلة في StackExchange: قد تكون الإجابة رائعة في الوقت الحالي وتتلقى kajillion upvotes. لسوء الحظ ، لأن التكنولوجيا التي تكمن وراء عصر الإجابة (شوكة المشروعات والتركيز على التغيير ، وضمور المكونات الإضافية ، وتغيير الأهداف) ، في بعض الأحيان ، لم تعد هذه الإجابة المثالية تعمل بعد الآن. لكنها حصلت على كل الأصوات ، لذلك ما نراه أولاً. لست متأكدًا من الحل - إذا كنا بحاجة إلى حل ؛ انها ليست قضية شائعة بشكل لا يصدق.

0
zedmelon

لقد أزلت فقط php ini المخصصة ، والتي لا أستخدمها على الإطلاق. المشكلة ذهبت ، الموقع يعمل بشكل جيد.

0
Imran Hossain

لقد قمت بحل المشكلة بمجرد إضافة الكود التالي في ملف htaccess. آمل أن يعمل هذا من أجلك يا رفاق أيضًا.

الخطوة 1: تغيير الإصدار PHP الإصدار من الخادم.

الخطوة 2: أضف الكود التالي في ملف htaccess الخاص بك وفقًا لإصدارك PHP version (محدد من الخادم).

للتبديل إلى PHP 4.4:

AddHandler application/x-httpd-php4 .php

للتبديل إلى PHP 5.0:

AddHandler application/x-httpd-php5 .php

للتبديل إلى PHP 5.1:

AddHandler application/x-httpd-php51 .php

للتبديل إلى PHP 5.2:

AddHandler application/x-httpd-php52 .php

للتبديل إلى PHP 5.3:

AddHandler application/x-httpd-php53 .php

للتبديل إلى PHP 5.4:

AddHandler application/x-httpd-php54 .php

للتبديل إلى PHP 5.5:

AddHandler application/x-httpd-php55 .php

للتبديل إلى PHP 5.6:

AddHandler application/x-httpd-php56 .php

للتبديل إلى PHP 7:

AddHandler application/x-httpd-php7 .php

للتبديل إلى PHP 7.1:

AddHandler application/x-httpd-php71 .php 
0
Mr. HK

بالنسبة لي (أوبونتو 16.04) كان الفائز هو:

Sudo apt install php7.0-mysql
0
veggiebenz

على نظام التشغيل Linux Linux 7.x الذي يعمل PHP الإصدار 7.3.x ، تحتاج إلى تشغيل Sudo yum install php-mysqlnd من أجل تثبيت ملحق MySQL المفقود لـ PHP.

تذكر إعادة التشغيل PHP و أو خادمك لتصبح التغييرات نافذة المفعول.

0
nyedidikeke

لـ php 5.6 Sudo apt-get install php5.6-mysqlnd-ms وإعادة تشغيل اباتشي الخاص بك

/etc/init.d/Apache2 restart
0
Pranoy Sarkar

لم يكن مصدر هذه الرسالة ذا صلة بالحل في حالتي.

تم تغيير عنوان IP الخاص بي للخادم ولم أغير <VirtualHost> التوجيه في httpd.conf خادم Apache.

بمجرد أن قمت بتغييره إلى عنوان IP الصحيح ، اختفت الرسالة و Wordpress يعمل مرة أخرى.

0
Tinus Tate