2011-07-01 25 views
7

estoy usando mi file_get_contents en PHP y que arroja algunos errores:file_get_contents() Error

Mi código

#try to fetch from remote 
$this->remotePath = "http://some-hostname.com/blah/blah.xml 
$fileIn = @file_get_contents($this->remotePath); 

Los errores:

Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /virtual/path/to/file/outputFile.php on line 127 

Warning: file_get_contents(https://some-host-name/data/inputFile.xml) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /virtual/path/to/file/outputFile.php on line 127 

Alguna idea? Funcionó bien en mi computadora, pero dejó de funcionar cuando lo transferí al servidor web.

+0

Por cierto, dado que desea cargar xml, use la función simplexml_load_file, después de configurar allow_url_fopen. –

Respuesta

12

Su servidor debe tener la propiedad allow_url_fopen establecida en verdadero. Estar en un servidor web gratuito lo explica, ya que generalmente está desactivado para evitar abusos. Si pagó por su hosting, póngase en contacto con su host para que puedan habilitarlo.

Si cambiar esa configuración no es una opción, eche un vistazo a la biblioteca cURL.

+1

¿Pero es eso un riesgo de seguridad? –

+2

@Tanner: lo más probable es que se haga para evitar el abuso. –

+0

¿Conoces alguna forma de evitar esto porque ese archivo es de un servidor remoto, no de mi servidor interno? –

4

Parece que la configuración "allow_url_fopen" es falsa en su servidor y, por lo tanto, no permite el uso de URL con file_get_contents().

En cambio, intente utilizar CURL que es una forma mejor y más eficiente de comunicarse con otro servidor.