Código PHP:
$fs = @fsockopen($url['host'], 80);
@fputs($fs, $http_request);
| |||
![]() Hola a todos. Tengo el siguiente código en PHP: Código PHP: |
| |||
Si le quitas los @ a las funciones .. es muyyy probable que veas el mensaje de error exacto que te estará arrojando .. y, en consecuencia podrás ver cual es el problema para darle solución o definitivamente descartar ese método. Si no puedes usar sockets, tampoco podrás usar probablemente las extensiones cURL (www.php.net/curl) .. así que no podrás hacer lo que pretendes directamente desde tu script PHP enviar datos por POST a otro URL. Un saludo, |
| |||
ummm... Lo miraré a ver... De todas formas, he oído que es posible darle permisos a un fichero en concreto para habilitar para él solo esas funciones. ¿es cierto? Un saludo y gracias |
| |||
Cita: Por mi parte desconozco esa funcionalidad ..
Iniciado por iOne ummm... Lo miraré a ver... De todas formas, he oído que es posible darle permisos a un fichero en concreto para habilitar para él solo esas funciones. ¿es cierto? Un saludo y gracias Es cierto que existe la función ini_set() para modificar la configuarción de PHP en tiempo de ejecución (sólo válida para ese script y su ejecución por ejemplo) pero, el caso concreto de "sockets" no se puede modificar así por qué es parte de la compilación de PHP o bien de funciones que se pueden deshabilitar desde -sólo- php.ini Un saludo, |
| |||
Pues nada, que no he visto error ninguno. De todas formas, es algo raro... Acabo de meter un phpInfo() en el servidor y me quita esto: sockets Sockets Support >> enabled Directive default_socket_timeout: Local Value 60 Master Value 60 ¿Puede ser del timeout? Porque activados están... Además, he modificado el código así: Código PHP: |
| |||
mm Puedes forzar el nivel de errores a más nivel usando: mysql_error_reporting(E_ALL); y sobre todo haciendo un echo a tus: $errno, $errstr que es donde obtienes los posibles errores que esté arrojando la ejecución de esa función. De todas formas .. te recomiendo que veas los ejemplos completos de uso de fsockopen() en: www.php.net/fsockopen Por qué .. no estás usando ningna cabecera HTTP para enviar u obtener tus datos de ese "socket" abierto, y .. recuerda que abrir una "puerta" es para que empieces a "conversar" con ese puerto en el protocolo que uses .. en tu coso el HTTP. Un saludo, |
| |||
Pongo el código completo: Código PHP: |
| |||
Funciona!!! He modificado el código como sigue: Código PHP: ![]() |