2

共有サーバーにCS-CARTeコマースを設定しています。最近、いくつかの問題が発生し、次のようなmysqlエラーが発生します。

PHP Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 53
PHP Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 57
PHP Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 57
PHP Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 64
PHP Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 127

奇妙なことに、ランダムなページでランダムにエラーを受け取ります。特定のページに表示されたり、特定のことを行った後に表示されるものではありません。

物事をより複雑にするために、これはたまにしか起こりません。これがサーバー/mysqlプロセスによって引き起こされる可能性はありますか?

たとえば、ウェブサイトの読み込みは良好で、すべての機能が問題なく機能します。ほとんどの機能、ページをテストしましたが、エラーは発生しませんでした。数時間前、すべての読み込みが遅くなり、一部のページで上記のエラーが返されました。

任意の入力をいただければ幸いです。ありがとうございました。

4

1 に答える 1

2

このようなエラーは、MySQL サーバーに到達できず、これを予測するために PHP エラー処理が実装されていない場合に発生する可能性があります。mysql_connect() は、MySQL リソース ポインタとしてデータベース サーバーに戻りますが、接続が実際に機能している場合のみです。そうでない場合、リソース ポインターは空であり、さらに下の関数は不平を言い始めます。これが断続的にしか発生しない場合、これは MySQL サーバーの過負荷の典型的な兆候です。

共有ホスティング サーバーを使用している場合、別のテナントがすべてのリソースを使い果たしている可能性があるため、できることはほとんどありません。しかし、問題をさらに追跡するためにできることがいくつかあります。phpMyAdmin インターフェイスで [ステータス] タブにアクセスできる場合は、それを使用して、MySQL サーバーのステータスに関する洞察を得ることができます。

たとえば、実行するクエリの数と、許可する同時接続の数を調べます。場合によっては、最大接続数を使い果たしたために接続が拒否されることがあります (一部のホスティング環境ではこれを変更できます)。サーバーは障害の統計も追跡します。これにより、何が起こっているかについての手がかりが得られる場合があります。

ただし、これらの統計にアクセスできない場合、またはサーバーの設定を変更できず、アプリがトラフィックの過負荷を引き起こしていないことを十分に確信している場合は、ホスティング プロバイダーにサポート チケットを開く必要があります。

于 2011-12-07T11:58:04.043 に答える