Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] dl() function.dl Not supported in multithreaded Web servers

Estas en el tema de dl() function.dl Not supported in multithreaded Web servers en el foro de PHP en Foros del Web. Hola A Todos.. Creo un nuevo tema a ver si alguien me puede ayudar porque la ayuda que leí en todos lados no fue de ...
  #1 (permalink)  
Antiguo 20/05/2013, 10:15
 
Fecha de Ingreso: mayo-2009
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
dl() function.dl Not supported in multithreaded Web servers

Hola A Todos..
Creo un nuevo tema a ver si alguien me puede ayudar porque la ayuda que leí en todos lados no fue de mucha Utilidad.. la mayoría sólo sugiere activar enable_dl en el php.ini.
estoy tratando de usar la función dl() para cargar una API tambien para impresoras fiscales, me da el error

Cita:
Warning: dl() [function.dl]: Not supported in multithreaded Web servers - use extension=php_H320v52ts.dll in your php.ini in C:\xampp\htdocs\Gestion\VENTAS\Cierrez.php on line 8
Fatal error: Call to undefined function if_open() in C:\xampp\htdocs\Gestion\VENTAS\Cierrez.php on line 10
O sea que no está levantando la API correctamente porque no me toma las funciones. Cómo hago para cargar una dll? a lo mejor a alguien le pasó y me puede ayudar.
Le instalé una versión mas vieja de php (5.2.5) para poder usar esta función pero pasó de
Cita:
Call to undefined function dl() on line...
a este error ya cargado arriba.
Ya habilité el enable_dl=on y extension=php_H320v52ts.dll en el php.ini.
Tengo un Windows XP con XAMPP 1.6.5 ahora.. pero con 1.8.1 tampoco funcionó.
Alguna sugerencia?
Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 20/05/2013, 10:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: dl() function.dl Not supported in multithreaded Web servers

La función dl() sirve exclusivamente para cargar una extensión si no puedes alterar la configuración de PHP, no deberías hacer ambas cosas.

Desactiva enable_dl y pon la ruta absoluta con comillas de la DLL que quieres cargar.

Reinicia el servidor y prueba de nuevo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/05/2013, 12:27
 
Fecha de Ingreso: mayo-2009
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: dl() function.dl Not supported in multithreaded Web servers

O sea, por ejemplo..
Código PHP:
Ver original
  1. <?php
  2.  
  3.   dl("php_H320v52ts.dll");
  4.  
  5.   $port = IF_OPEN("COM2",9600);
  6.  
  7.   if ( $port == -1)
  8.   {   echo "impresora ocupada";   return;  }
  9.  
  10.   $err = IF_WRITE("@DailyClose|Z");
  11.  
  12.   $err =IF_CLOSE();
  13.  
  14. ?>

debería cambiar entonces en php.ini enable_dl=off
y la línea dl("php_H320v52ts.dll");
la cargo con la ruta absoluta usando esta misma función dl() o hay alguna otra para cargar dll?
dl("C:\xampp\php\ext\php_H320v52ts.dll");

Llamando a esta extensión dll, debería llamar poder llamar a las funciones IF_OPEN() por ejemplo?
Hice los cambios pero me da el mismo error..

Me harías un pequeño ejemplo please así me ubico?
nunca antes trabajé con extensiones discupá mi ignorancia.
Saludos y gracias por tu respuesta!! =)
  #4 (permalink)  
Antiguo 20/05/2013, 12:43
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: dl() function.dl Not supported in multithreaded Web servers

Cita:
Iniciado por c3sar0n Ver Mensaje
Hola A Todos..

Ya habilité [...] extension=php_H320v52ts.dll en el php.ini.
Pues entonces no necesitas hacer dl().Ya está cargada por defecto.
  #5 (permalink)  
Antiguo 20/05/2013, 17:50
 
Fecha de Ingreso: mayo-2009
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: dl() function.dl Not supported in multithreaded Web servers

Mirá, cuando uno comienza a aprender realmente a programar en PHP este tipo de dudas surgen a menudo.
En este caso mi problema fue que no estaba cargando la DLL, no porque no me tome el
extension=php_H320v52ts.dll en el php.ini sino porque no estaba modificando el php.ini correctamente.
Tu ayuda me fue de mucha utilidad porque empecé a buscr el problema por otro lado, ya que controlé que todo estuviera como me lo sugeriste.
Verificando phpinfo(); me di cuenta que la ruta del php.ini que estaba modificando no era la que estaba en la raiz de la carpeta php, sino el de la carpeta apache\bin.
Muchas gracias y disculpa mi ignorancia (espero serlo menos desde ahora)

Como mencionaste, el código toma el if_open() comentando la linea dl() y agregando
extension=php_H320v52ts.dll en el php.ini.

Cita:
<?php

//dl("php_H320v52ts.dll");

$port = IF_OPEN("COM2",9600);

if ( $port == -1)
{ echo "impresora ocupada"; return; }

$err = IF_WRITE("@DailyClose|Z");

$err =IF_CLOSE();

?>
Esto me devuelve "impresora ocupada", lo cual es correcto.

Thanks again! =)

Etiquetas: dll
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:42.