Que dois-je faire si la fonction de collecte de phpcms v9 ne peut pas être utilisée ?
La principale raison pour laquelle le contenu du site Web https ne peut pas être collecté est que https ne prend pas en charge file_get_contents pour obtenir du contenu, vous pouvez donc envisager d'utiliser curl pour l'obtenir. (curl doit être activé, vous pouvez le vérifier dans pathinfo)
(1) Ouvrez phpcmsmodulescollectionclassescollection.class.php
Ajoutez une nouvelle fonction dans la classe :
protected static function curl_request($url){ if (!function_exists('curl_init')) { throw new Exception('server not install curl'); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//禁止调用时就输出获取到的数据 curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false); $result = curl_exec($ch); curl_close($ch); return $result; }
(2) La fonction Rechercher une fonction get_htm change la fonction
protected static function get_html($url, &$config) { if (!empty($url) && $html = @file_get_contents($url)) { if ($syscharset != $config['sourcecharset'] && $config['sourcetype'] != 4) { $html = iconv($config['sourcecharset'], CHARSET.'//TRANSLIT//IGNORE', $html); } return $html; } else { return false; } }
en
protected static function get_html($url, &$config) { if(substr(trim($url),0, 5) == "https"){ $html = @self::curl_request($url); }else{ $html = @file_get_contents($url); } if (!empty($url) && $html) { if ($syscharset != $config['sourcecharset'] && $config['sourcetype'] != 4) { $html = iconv($config['sourcecharset'], CHARSET.'//TRANSLIT//IGNORE', $html); } return $html; } else { return false; } }
puis l'enregistre pour l'obtenir. Le résultat du test est
.. Je ne sais pas s'il est toujours disponible. Pour les autres bugs, merci de laisser des commentaires et des retours !
Site Web PHP chinois, un grand nombre de Tutoriels PHPCMS gratuits, bienvenue pour apprendre en ligne !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!