WordPressでSQLをデバッグ出力

WordPressでSQLをWEB画面上にデバッグ出力する方法。開発時での利用を想定。

※codex の “wp-config.php” の説明箇所 を参照のこと。

■修正箇所

wp-config.php
次の設定を追加

define ('SAVEQUERIES', true);

▼テーマのフッターファイル(例:wp-content/themes/twentyten/footer.php など)
次のコードを追加

<?php
if (current_user_can('administrator')){
    global $wpdb;
    echo "<pre>";
    print_r($wpdb->queries);
    echo "</pre>";
}
?>

■コードの確認
wp-includes/wp-db.php ファイルの wpdb::query において、次の個所で Array に SQL の実行情報が放り込まれている。

if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES )
    $this->queries[] = array( $query, $this->timer_stop(), $this->get_caller() );

・timer_stop関数は “Total time spent on the query, in milliseconds
・get_caller関数は “The name of the calling function

Tagged with: , , , ,
Posted in PHP, web

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Archives
  • RT @__apf__: How to write a research paper: a guide for software engineers & practitioners. docs.google.com/presentation/d… /cc @inwyrd 1 week ago
  • RT @HayatoChiba: 昔、自然と対話しながら数学に打ち込んだら何かを悟れるのではと思いたち、専門書1つだけ持ってパワースポットで名高い奈良の山奥に1週間籠ったことがある。しかし泊まった民宿にドカベンが全巻揃っていたため、水島新司と対話しただけで1週間過ぎた。 それ… 3 weeks ago
  • RT @googlecloud: Ever wonder what underwater fiber optic internet cables look like? Look no further than this deep dive w/ @NatAndLo: https… 3 weeks ago
  • @ijin UTC+01:00 な時間帯で生活しています、、、 6 months ago
  • RT @mattcutts: Google's world-class Site Reliability Engineering team wrote a new book: amazon.com/Site-Reliabili… It's about managing produc… 9 months ago
%d bloggers like this: