método uno:
En php, tome el sitio web https, solicite el siguiente contenido de error:
Advertencia: file_get_contents () [function.file-get-contents]: no se pudo abrir el flujo: argumento no válido en I: Webmyphpa.php en la línea 16
Abra el archivo php.ini y busque; extension = php_openssl.dll, elimine las comillas dobles ";" y reinicie el servidor web.
Para el servidor apache, puede habilitar la prueba del módulo mod_ssl al mismo tiempo.
Si no es conveniente modificar la configuración del servidor, puede consultar la siguiente función para solucionarlo:
Ejemplo de código:
<?php
//file_get_contents抓取https地址内容
function getCurl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
curl_close ($ch);
return $result;
}
Método dos:
En php, cuando se usa la función file_get_contents para buscar el contenido de un sitio web cuya URL comienza con https, aparecerá una advertencia de error similar a la siguiente:
Advertencia: file_get_contents ( https://127.0.0.1/index.php ) [function.file-get-contents]: no se pudo abrir la transmisión: argumento no válido en E: \ website \ blog \ test.php en la línea 25
Abra php.ini y busque; extension = php_openssl.dll, elimine las comillas dobles ";" y reinicie el servidor web.
Apache puede habilitar simultáneamente la prueba del módulo mod_ssl
El contenido anterior ha compartido contigo dos métodos para resolver el problema de la función file_get_contents en PHP tomando la dirección https. Espero que te ayude.