Pregunta

Estoy haciendo una llamada para descargar un archivo XML y escribirlo en un archivo usando exec () y el comando curl. Intenté usar curl_exec (), pero mi sistema PHP no lo reconoció.

De alguna manera, la llamada cURL ahora falla. No lo hizo antes, pero un día visito mi sitio y… WHAM. Adiós analizador XML.

Cosas que funcionaron:

  • Llamando a cURL desde la línea de comando con el mismo argumento.
  • exec (" ls / ");

Cosas que no funcionaron:

  • que rizo, luego completando el camino hacia el cURL en mi función ejecutiva.
  • Googlear el error que arroja el rizo cuando produzco los errores de la función ejecutiva

    ld.so.1: curl: fatal: /opt/csw/lib/libsunmath.so.1: tipo de archivo desconocido

  • Uso de shell_exec

  • Usando wget colgó el script de alguna manera. Simplemente nunca terminé.
  • Autoflagelación
¿Fue útil?

Solución

Logré codificar el problema. Descubrí que el script estaba colgando con wget porque un servidor no respondía. Vaya, pero eliminar ese enlace solucionó mi problema.

Es triste porque la forma en que estaba usando cURL era mucho más limpia para IO. Afortunadamente, esta actualización verifica la entrada antes de cambiar los archivos. Esto ahora crea un archivo temporal en el que wget se descarga y luego verifica para asegurarse de que sea el formato correcto antes de mover el archivo a su nueva ubicación.

Una prueba terrible, sin duda, pero muchas cosas buenas por venir.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top