browscap.ini existe forma de establecerlo sin php.ini ?

Iniciado por Diabliyo, 29 Septiembre 2010, 01:57 AM

0 Miembros y 1 Visitante están viendo este tema.

Diabliyo

Buenas.

Tengo un servicio de hosting con los de http://www.hosting24.com/ (bueno es de un amigo), y estuve intentando instalar una aplicación en PHP que le pase, pero esta plataforma hace uso de browscap.ini con la finalidad de obtener información del navegador y crear una estadística de accesos (log). Pero desgraciadamente los de Soporte me dicen que no se puede personalizar el PHP.INI del hosting y que tampoco se permite cargar paralelamente (alternamente) un PHP.INI personalizado.

Cada vez que acceso a la plataforma, me marca:
Warning: get_browser() [function.get-browser]: browscap ini directive not set in /home/elsitio/public_html/modulos/base.php
on line 762


Buscando solucion, verifique las variables con phpinfo() y browscap (variable de entorno) esta configurada a "no value", de modo que utilize la funcion de ini_set() para establecer el valor, asi:

Código (php) [Seleccionar]
<?php
echo 'Mi Directorio: 'getcwd(). '<br>
browscap value= '
ini_get("browscap");

# intentamos meter valor
$newgetcwd().'/php_browscap.ini';
ini_set"broswcap",  $new );

echo 
'<p>browscap Var= 'ini_get("browscap");

echo 
'<p>Todas las Variables:<br>';
print_r(ini_get_all());
?>


Pero es inútil :(, la variable "browscap" sigue intacta (no value).

Alguna idea ?

~ Yoya ~

Necesitas activar la directiva browscap(Viene off por defecto) del php.ini.

Cita de: php.netEstos modos determinan cuándo y dónde se debe o no asignar una directiva PHP, y cada directiva del manual hace referencia a uno de estos modos. Por ejemplo, algunos ajustes pueden establecerse en scripts PHP usando ini_set(), mientras que otros requieren hacerlo en php.ini o en httpd.conf.



No puedes establecer usando la función ini_set() para establecer el valor de la directiva browscap, tendrías que editarlo directamente en el php.ini...

Yo por eso siempre trato de hacer source que no necesiten muchos requisitos para su uso. Lo que puedes hacer es crear una clase que realice lo que deseas hacer y listo...

Referencias:
Listado directivas de php.ini
Dónde realizar un ajuste de configuración


Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Diabliyo

En conclusion, me jodo :(....

Ya tuve en mente hacerme un codigo para detectar el browser, pero tanto los codigos de la red como el proceso es a inminentemente complicado, debido a que para tener una funcion lo suficientemente competente, es necesario tener una buena BDD de los navegadores, esto equivaldria a mucho trabajo :(, asumiendo que no solo tendrias PCs, sino navegadores de moviles :S.... Unido a esto aparte de obtener el navegador es necesario el Idioma, Tipo de Sistema (Linux, Windows, MAC), Modelo (Ubuntu/Gentoo/etc.., Xp/Vista/7, 10.1/.2/.3/.4).

Ademas observando los navegadores Internet Explorer, la cosa la ponen dificil, por la falta de estandarizacion :S.

Me quedo con browscap,

Saludos !

~ Yoya ~

Naa no es necesario una BD que contenga la versión de navegadores y todo eso.

Si te fijas, los User Agent, generalmente tienen el mismo tipo de estructura. Lo que hace la mayoría es verificar que los SO, Browsers que tienen almacenado en una BD o un array, lo comparan si existen en el User Agent. Entonce este tiende a fallar ya que para que funcione correctamente es necesario tener una lista bastante actualizada.

La mejor opción es usar Expresiones Regulares para parsear el User Agent, pero debes ser muy cuidadoso creandola para que funcione correctamente...
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.