我在PHP中有一个脚本读取文本文件,文件的每一行都作为post在wordpress上插入wp_insert_post()。
在数据库变大之前,一切都很好。
目前,该基地已超过250,000个帖子,现在进程非常缓慢。
它只读取文件的2000行并将基数插入一小时。
有没有人有改进过程的任何提示?
下面的是代码的一部分......
$pointer = fopen ("file.txt", "r");
while (! feof ($ pointer)) {
$ Line = fgets ($ pointer, 4096);//Here I get the information I need to post the variables ..
$ My_post = array ();
$ My_post [ 'post_title'] = $post_title;
$ My_post [ 'post_content'] = $content;
$ My_post [ 'post_status'] = 'publish';
$ My_post [ 'post_author'] = 1;
$ My_post [ 'post_category'] = $NewcatArray;
$ My_post [ 'tags_input'] = $tags
$ Postid = wp_insert_post ($ my_post);
}
答案 0 :(得分:0)
您可以尝试在循环之前禁用自动提交
$wpdb->query( 'SET autocommit = 0;' );
然后在循环提交并重新启用自动提交
之后 $wpdb->query( 'COMMIT; SET AUTOCOMMIT = 1;' );