日志查询:
您可以在核心/插件/主题升级期间收集所有查询,以查看发生的情况。只需遵循以下两个步骤:
1) 您应该添加:
define( \'SAVEQUERIES\', TRUE );
到您的
wp-config.php
用于在页面加载到中期间收集所有查询的文件
$wpdb->queries
大堆只需记住在事后将其移除即可。
2) 然后您可以将其登录到sql.log
文件下面是一个简单的示例:
/**
* Dump all database queries to the /wp-content/sql.log file.
*/
add_action( \'shutdown\', function(){
$file = WP_CONTENT_DIR . \'/sql.log\'; // Edit this filepath to your needs.
if( current_user_can( \'manage_options\' )
&& file_exists( $file )
&& is_writeable( $file )
&& isset( $GLOBALS[\'wpdb\']->queries )
)
file_put_contents(
$file,
date( \'c\' ) . PHP_EOL . print_r( $GLOBALS[\'wpdb\']->queries, TRUE ),
FILE_APPEND
);
});
或使用
query
的过滤器
wpdb
类只记录
INSERT
,
UPDATE
和
DELETE
查询:
/**
* Log the INSERT, UPDATE, DELETE database queries to the /wp-content/sql.log file.
*/
add_filter( \'query\', function( $query ){
if( FALSE !== stripos( $query, \'UPDATE \' )
|| FALSE !== stripos( $query, \'INSERT \' )
|| FALSE !== stripos( $query, \'DELETE \' )
) {
$file = WP_CONTENT_DIR . \'/sql.log\'; // Edit this filepath to your needs.
if( file_exists( $file ) && is_writeable( $file ) )
file_put_contents(
$file,
date( \'c\' ) . \' - \' . $query . PHP_EOL,
FILE_APPEND | LOCK_EX
);
}
return $query;
}, PHP_INT_MAX );
核心升级文件:对于核心升级,您可能会对这些文件感兴趣
wp包括/版本。php管理/包括/升级。php管理/包含/架构。文件中的php/wp-admin/includes/upgrade.php
您可以找到升级功能:wp_upgrade()
这就叫upgrade_all()
作用它包含每个版本在以下功能方面的数据库升级upgrade_xxx()
例如:
...truncated...
if ( $wp_current_db_version < 22422 )
upgrade_350();
if ( $wp_current_db_version < 25824 )
upgrade_370();
if ( $wp_current_db_version < 26148 )
upgrade_372();
if ( $wp_current_db_version < 26691 )
upgrade_380();
maybe_disable_link_manager();
maybe_disable_automattic_widgets();
update_option( \'db_version\', $wp_db_version );
update_option( \'db_upgraded\', true );
我希望这有帮助。