obtener modificar eliminar elementos dentro crear content contenido con cargar php apache https file-get-contents

php - eliminar - modificar elementos dentro de un iframe



No se puede encontrar el contenedor "https" con file_get_contents (4)

SOLUCIONADO

Para resolver este error, debe instalar el paquete OpenSSL para PHP en su servidor web .

En un servidor FreeBSD , puede necesitar instalar el siguiente paquete: php53_openssl y reiniciar su servidor web.

En un servidor de Windows , abra su archivo de configuración php.ini y simplemente elimine el comentario de la siguiente línea:

;extension=php_openssl

y reinicie el servidor web. El error debe ser resuelto.

Referencia: Lo aprendí de este enlace que funcionó para mí ... así que el crédito va para él.

Llamar a file_get_contents () con https: // urls me da el siguiente error:

warning: file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?

He leído 10 o más preguntas y todas dicen habilitar la extension=php_openssl.dll

Hice esto y sigo teniendo problemas ...

¿Qué más podría ser?


Asegúrese de que allow_url_include y allow_url_fopen estén configurados en ''On'' en php.ini.

Descomprímalos si se comentan estas líneas.

Además, puede usar la siguiente secuencia de comandos para el diagnóstico: (tomado de la respuesta aceptada en Cómo obtener file_get_contents () para trabajar con HTTPS? )

$w = stream_get_wrappers(); echo ''openssl: '', extension_loaded (''openssl'') ? ''yes'':''no'', "/n"; echo ''http wrapper: '', in_array(''http'', $w) ? ''yes'':''no'', "/n"; echo ''https wrapper: '', in_array(''https'', $w) ? ''yes'':''no'', "/n"; echo ''wrappers: '', var_dump($w);


Como dicen las personas, verifique con la configuración.

phpinfo.php

<?php phpinfo(); ?>

Busque OpenSSL en la página web. Además, no olvide reiniciar el servidor web después de alterar el archivo php.ini.

Si no puede usar file_get_contents () , use cURL si está disponible, es mejor de muchas maneras y más rápido.

function url($url,$option = null) { $cURL = curl_init(); if ($option) { curl_setopt($cURL, CURLOPT_URL, $url.$option); } else { curl_setopt($cURL, CURLOPT_URL, $url); } curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1); curl_setopt($cURL, CURLOPT_AUTOREFERER, 1); curl_setopt($cURL, CURLOPT_HTTPGET, 1); curl_setopt($cURL, CURLOPT_VERBOSE, 0); curl_setopt($cURL, CURLOPT_HEADER, 0); curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, 1); curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, 1); curl_setopt($cURL, CURLOPT_DNS_USE_GLOBAL_CACHE, 0); curl_setopt($cURL, CURLOPT_DNS_CACHE_TIMEOUT, 2); $output[''page''] = curl_exec($cURL); $output[''contentType''] = curl_getinfo($cURL, CURLINFO_CONTENT_TYPE); curl_close($cURL); return $output; } $page = url(''https://example.com/'',''i/like/subfolders'');


Yo tuve el mismo problema. Intentaba acceder al gráfico de Facebook. No era que no pudiera acceder a la URL, era que Facebook estaba devolviendo un error de 400 porque no estaba pasando los parámetros. Intente conectarse a HTTPS en un sitio que tendrá una conexión HTTPS activa. Ej. Prueba esto:

file_get_contents("https://www.namhost.com");

Si eso funciona, debes ver por qué falla la conexión HTTP a la que te estás conectando, porque el problema no es que no puedas conectarte a los HTTP, sino que a lo que te estás conectando no le gusta la solicitud.