web-dev-qa-db-ja.com

Wordpress致命的なエラー:キャッチされないエラー:/wp-includes/wp-db.php:1570の未定義関数mysql_connect()の呼び出し

私は大きな問題に直面しています。 null化されたバージョンのwoocommerceカートベースの配送プラグインをインストールしましたが、requiremnetに応じて関連性がないことがわかり、プラグインエリアからそのプラグインを削除しました。そのプラグインを削除した後、私のサイトはダウンしました。致命的なエラーが継続的に表示されます:

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/dev/public_html/new/wp-includes/wp-db.php:1570
Stack trace:
#0 /home/dev/public_html/new/wp-includes/wp-db.php(658): wpdb->db_connect()
#1 /home/dev/public_html/new/wp-includes/load.php(404): wpdb->__construct('dev_test', 'password', 'dev_test_ne...', 'localhost')
#2 /home/dev/public_html/new/wp-settings.php(107): require_wp_db()
#3 /home/dev/public_html/new/wp-config.php(82): require_once('/home/dev/p...')
#4 /home/dev/public_html/new/wp-load.php(37): require_once('/home/dev/p...')
#5 /home/dev/public_html/new/wp-blog-header.php(13): require_once('/home/dev/p...')
#6 /home/dev/public_html/new/index.php(17): require('/home/dev/p...')
#7 {main} thrown in /home/dev/public_html/new/wp-includes/wp-db.php on line 1570

Wp-config.phpとwp-contentフォルダーを除くすべてのコアファイルを置き換えてみました。それでも同じエラーが発生します。

また、プラグインフォルダーの名前を変更しようとしましたが、エラーがあります。

サイトを元に戻す方法を教えてください。

8
Thomas

考えられるエラーの原因:

  • PHP 7、mysql_*関数が削除されました。 PHPのMySQLドライバーの公式概要 を参照してください。
  • PHP 5.xを使用し、mysql拡張を有効にしていないが、mysqliおよび/またはpdo_mysql代わりに。

設定できます

define('WP_USE_EXT_MYSQL', true);

あなたのwp-config.php作成するファイルWordPress mysqli拡張機能を使用します。

6
Schakko

PHP 5からPHP 7(Windows))へのアップグレードでこの問題が発生しました。問題はmysqli PHP拡張機能が有効になっていません。mysqliが利用できない場合Wordpress 5+がこれを検出し、代わりに非推奨のmysql_connect()呼び出しでデータベースへの接続を試みます。 mysql_connect()関数が利用できないという非常に誤解を招くエラーメッセージ(この関数が必要ないため)。

php.iniextension_dirが設定され(完全なディレクトリ名を使用)、mysqli拡張が有効になります

extension_dir = "C:\php-7.3.10\ext"
...
extension=mysqli

アクティブな拡張機能を再確認するには、次のコードを実行できます

<pre>
<?php print_r(get_loaded_extensions()); ?>
</pre>
1
Rob Hoff

5.6 phpから7.0に切り替えたときに起こります。

CPanelを使用する場合は、選択したPHPバージョンで「mysqli」を有効にします。

Cpanel multiphpインスタンスで同様の問題が発生しました。ほぼすべてを試してみましたが、cpanel/whmがすべてが正常であると言っている間、7.xがアクティブになるとサイトがクラッシュしました。

結局、それは.htaccessファイルでした。名前を変更し、Cpanelを再生成しました。すべて正常です。

ここで解決するのに時間がかかったので、これが誰かの助けになることを願っています。

0
Paul R

エラーは簡単なようです。_mysql_*_関数は有効になっていません。これらの機能が本当に無効になっている場合はphpinfo()で確認し、有効であれば有効にします。いいえの場合、使用しているコードにいくつかの問題がありますが、書き込み中にすべてのファイルを置き換えた場合は、おそらく最初のオプションです。

0
Ryosaku

次の行についてwp-config.phpファイルを確認してください。

define('WP_USE_EXT_MYSQL', true);

見つかったら、その行を削除します。問題を修正する必要があります。

そうでない場合は、nd_mysqli拡張機能PHP 7構成、およびCpanelでmysqli拡張機能を無効化-> PHPバージョン。

ソース:

https://wordpress.org/support/topic/database-cache-causing-503-errors-when-upgrading-to-php-7/

お役に立てれば。 :)

0
Simon