Es mostren els missatges amb l'etiqueta de comentaris PHP. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris PHP. Mostrar tots els missatges

15 de juliol del 2014

ERROR: It is not safe to rely on the system's timezone settings (SOLUCIONAT)

En actualitzar la versió del PHP en un dels servidors Apache, em vaig trobar amb l'error: "Warning: date(): It is not safe to rely on the system's timezone settings.".

Sortosament, el problema és fàcil de solucionar. Només cal definir la zona horària en el fitxer php.ini:
$ gksudo gedit /etc/php5/apache2/php.ini


Tot seguit, reiniciem el servidor Apache:
$ sudo service apache2 restart
I problema solucionat !

5 de desembre del 2012

PHP Warning: json_encode(): Invalid UTF-8 sequence in argument [SOLUCIONAT]

Si mai us trobeu que en accedir des de PHP a una base de dades MySQL i codificar el resultat en JSON per retornar-lo us surt un error tipus "PHP Warning:  json_encode(): Invalid UTF-8 sequence in argument", està clar que teniu un problema. Possiblement algunes de les dades que esteu retornant estan buides, són invàlides o contenen caràcters estranys. Per sort, la solució és senzilla.

En primer lloc, comproveu que la base de dades utilitza codificació UTF-8 (p.e. amb phpMyAdmin):


Llavors, en accedir a la base de dades des de PHP afegiu l'opció "SET NAMES utf8" a l'atribut MYSQL_ATTR_INIT_COMMAND. Per exemple, utilitzant PDO podria ser similar a:
$DBH = new PDO("mysql:host=$server;dbname=$dbname",
            $user, $pass, 
            array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
I ja veureu com l'error desapareix dels vostres logs, i les dades s'obtenen correctament.