我已经尝试了几种方法但仍然无法解决。我有一个包含许多网址的数组,我使用foreach访问网站并使用file_get_contents()
提取数据
但是404 Not Found nginx/1.12.2
是大约2分钟后出现并记录大约280条记录的错误。
除了尝试执行max_execution_time
和mysql.connect_timeout
之外,还要在代码中插入ini.php
0
或1200
的值,结果始终相同,2分钟后显示错误404 Not Found nginx / 1.12.2
在我尝试使用set_time_limit (0);
和sleep (1)
的代码中,但它无法解决问题
ini_set('mysql.connect_timeout','0');
ini_set('max_execution_time', '0');
function create_wordpress_post_with_code() {
if( isset( $_POST['mysubmitbtn'] ) ) {
set_time_limit(0);
$myGetCsv = function ($str) {
return str_getcsv($str, ';');
};
$lines = array_map($myGetCsv, file(''.get_template_directory_uri() . '/list.csv', FILE_IGNORE_NEW_LINES));
foreach($lines as list($var1, $var2)){
set_time_limit(0);
$html = file_get_contents( 'https://example.com/'.$var1.'/'.$var2' );
$document = new DOMDocument();
@$document->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
$domxpath = new DOMXPath($document);
// more code here
$post_id = wp_insert_post(
array(
'comment_status' => 'open',
'ping_status' => 'closed',
'post_author' => $author_id,
'post_name' => $slug,
'post_title' => $title,
'post_content' => $content,
'post_status' => 'publish',
'post_type' => 'post'
)
);
sleep(1);
}
}
}
add_action( 'init', 'create_wordpress_post_with_code' );
我该怎么做才能解决此错误?或者除了可能因为执行时间而发生此错误的可能原因是什么?
答案 0 :(得分:1)
每当必须使用变量时,必须在字符串中使用"
。其他方面,它的价值不会被解释。
变化
$html = file_get_contents( 'https://example.com/$var1/$var2' );
到
$html = file_get_contents("https://example.com/$var1/$var2");
或者将字符串与.
$html = file_get_contents( 'https://example.com/'.$var1.'/'.$var2);