Warning: number_format()

En los ultmos dias tras actualizar la version de PHP 5.3.8 en nuestros servidores, algunos de nuestros clientes han visto como algunas aplicaciones han dejado de funcionar correctamente y han tenido que modificar parte del codigo o actualizar sus scripts.

El aviso que tuvieron alguna web fue por ejemplo: Warning: number_format() expects parameter 1 to be double, string given

el aviso o error se daba al trabajar el contenido de la variable como vemos:

$precio = trim(number_format($row[‘precio’], 0, ‘,’, ‘.’));

tras usar var_dump  y comprobar los resultados, la solucion fue hacer un pequeño cambio:

$precio = trim(number_format((double)$array[‘precio’], 0, ‘,’, ‘.’));

Siempre ocurre este tipo de avisos cuando se cambia a una version  mas actualizada de PHP.

 

PHP 5.3 Actualización y compatibilidad

Si desde que se estan realizando actualizaciones de PHP sus paginas webs muestran avisos como los siguientes, indica que debe corregir parte de su codigo:

  • Function {nombre_funcion_aqui} esta en desuso {ruta_del_script} en la linea {numerodelinea}
  •  … No es seguro la configuracion de la zona horaria (timezone settings). Usted  *necesita* usar date.timezone setting o la funcion date_default_timezone_set() …

Ejemplos de avisos:

Warning: mktime() [function.mktime]

Deprecated: Function eregi() is deprecated

Preste atencion a estos avisos (warnings), siga leyendo!

El primero indica que su sitio web realizado con codigot PHP esta usando funciones en desuso, y le avisa de que debe actualizar su codigo PHP o script. Si no sabe como corregir estos avisos debe contactar con el programador que le desarrollo la aplicacion PHP. Cuanto tenga actualizada su aplicacion mucho mejor.

Para suprimir estos avisos, puede realizar los siguientes pasos:

  1. Descargar su actual archivo php.ini desde la capreta public_html (si no tiene ese archivo, crealo en su ordenador con el nombre de  «php.ini»)
  2. Coloque las siguientes lineas dentro de su archivo «php.ini»:
    display_errors = Off
    date.timezone = «Europe/Madrid»
  3. Crear un archivo que se llame .htaccess (en Windows se podra llamar «htaccess» y tras subirlo al servidor renombrarlo por  «.htaccess»)
  4. Coloque las siguiente lineas en el archivo .htaccess:
    <IfModule mod_suphp.c>
    SuPHP_ConfigPath /home/USUSARIO/public_html/
    </IfModule>
    *cambien «USUARIO» por el nombre de usuario que usa para acceder a su cuenta  cPanel
  5. Suba su archivo php.ini file a la carpeta public_html de su hosting via FTP o via cPanel usando el administrador de archivos.

Cualquier duda, pueden contactarnos por ticket de soporte o enviandonos un email a soporte.