Mostrando entradas con la etiqueta errores. Mostrar todas las entradas
Mostrando entradas con la etiqueta errores. Mostrar todas las entradas

domingo, 1 de febrero de 2015

PHP - Problemas con los saltos de linea en csv

En ocasiones necesitaremos leer los datos que contiene un CSV, lo que he estado usando siempre había sido algo al estilo.
ini_set('auto_detect_line_endings',TRUE);while (($datos = fgetcsv($gestor, 100000, "\n")) !== FALSE) {//Lo que necesitara,  normalmente parsearlo}
Hace poco me encontré con un error en ese código, al intentar parsear un fichero que venia desde un MAC, el problema esta en que Windows y MAC no tratan igual los saltos de linea, por lo que "\n" no existía en el fichero que me enviaban, la solución es el siguiente código:

sábado, 23 de agosto de 2014

Fatal error: Uncaught exception 'SmartyException' with message 'unable to write file

El otro dia me encontre con este error:

Fatal error: Uncaught exception 'SmartyException' with message 'unable to write file /var/www/vhosts/MiDominio/httpdocs/cache/smarty/compile/5a/5c/7b/wrt53c28bab1fdaa6.01547362' in /var/www/vhosts/MiDominio/httpdocs/tools/smarty/sysplugins/smarty_internal_write_file.php:44 Stack trace: #0 /var/www/vhosts/MiDominio/httpdocs/tools/smarty/sysplugins/smarty_internal_template.php(201): Smarty_Internal_Write_File::writeFile('/var/www/vhosts...', 'compileTemplateSource() #2 /var/www/vhosts/MiDominio/httpdocs/classes/module/Module.php(1860): Smarty_Internal_TemplateBase->fetch() #3 /var/www/vhosts/MiDominio/httpdocs/modules/leomanagewidgets/leomanagewidgets.php(479): ModuleCore->display('/var/www/vhosts...', '/themes/leomana...', 'leomanagewidget...') #4 /var/www/vhosts/MiDominio/httpdocs/modules/leomanagewidgets/leomana in /var/www/vhosts/MiDominio/httpdocs/tools/smarty/sysplugins/smarty_internal_write_file.php on line 44

Fatal error: Call to undefined function mcrypt_encrypt() in /var/www/vhosts/MiDominio/httpdocs/classes/Rijndael.php on line 50

Para solucionarlo le doy los permisos necesarios a la carpeta cache, y me encuentro con lo siguiente
Table 'XXXX_bd.ps_leobtslider' doesn't exist

viernes, 25 de julio de 2014

No se muestra la segunda imagen - leofast - prestashop

En la plantilla para Prestashop Leofast, podemos encontrarnos con un problema y es que no se nos visualiza la segunda imagen de nuestro producto al pasar el ratón por encima de la primera
Tenéis un ejemplo de lo que hablo en: http://www.pelucastalia.com/ una web en la que ando trabajando ultimamente, cuando uno de los productos tiene 2 o mas imagenes estas deben intercambiarse al pasar el ratón sobre el producto, pero en lugar de eso sale un interrogante (la imagen por defecto).

jueves, 17 de julio de 2014

Symfony - PHP - falta icuuc49.dll

El programa no puede iniciarse por que falta icuuc49.dll en el equipo.
Intente reinstalar el programa para corregir este problema


Este error ocurre al habilitar en el php.ini la extensión intl para solucionarlo deberemos copiar estas librerías en nuestro apache, eso se consigue del siguiente modo:
  1. Nos dirigiremos a nuestro server en mi caso Xampp a su directorio PHP (C:\xammp\PHP) 
  2. Buscaremos 3 archivos icudt49.dll; icuin49.dll; icuuc49.dll 
  3. Los copiaremos (importante copiar, no cortar) a nuestro directorio apache (C:\xammp\apache\bin) 
  4. Por ultimo reiniciaremos nuestro apache 
Y solucionado!!

miércoles, 16 de julio de 2014

PrestaShop - Warning on line 171 en archivo ... leobootstrapmenu.php

Al subir una simple imagen a las categorías de mis productos me encontrado con el siguiente error
Warning on line 171 en archivo /var/www/vhosts/tu_dominio_.com/httpdocs/modules/leobootstrapmenu/leobootstrapmenu.php
[2] Invalid argument supplied for foreach()

sábado, 14 de junio de 2014

Android - cannot execute task the task has already been executed (a task can be executed only once)

Al usar las AsyncTask en android puede aparecer el siguiente error:
cannot execute task the task has already been executed (a task can be executed only once)
Esto es debido a que estamos intentando ejecutar 2 veces un mismo hilo, y eso no es posible, lo que si podemos hacer es lanzar un nuevo hilo que ejecute la misma tarea.

Seguramente tengamos algo similar a lo siguiente

public void lanzaAsincrona(View view) {
downloadTask.execute(uri);
}

En donde downloadTask esta igualado posiblemente en el onCreate de la siguiente manera
downloadTask = new myDownloadTask();
de esta forma creamos una nueva instancia de nuestra clase en la variable downloadTask, si borramos esa linea en el onCreate, y la copiamos dentro del método lanzaAsincrona, lo arreglaremos, ya que cada vez que llamemos a ese método crearemos una nueva instancia, por lo que se ejecutara en un nuevo hilo; debería quedar algo así

public void lanzaAsincrona(View view) {
downloadTask = new myDownloadTask();
downloadTask.execute(uri);
}

o en su versión resumida
public void lanzaAsincrona(View view) {
new myDownloadTask().execute(uri);
}

Espero os sirva de ayuda

Android - asynctask an error occurred while executing doInBackground

En ocasiones podemos encontrarnos con el siguiente error:
asynctask an error occurred while executing doInBackground
Al usar una tarea asincrona tenemos que tener cuidado y estar seguro de lo que hacemos, desde un hilo secundario no podemos hacer varias cosas, entre ellas modificar la apariencia del Layut, lanzar un Toast, etc ...

Si intentamos ejecutar alguna de esas acciones seguramente nos de este error, si en nuestra app necesitamos ejecutar alguna tarea, y que esta misma cambie, algo o lance un mensaje (Toast) tenemos metodos especificos para ellos, estos son ejecutados justo antes, o despues de ejecutar la tarea, estos metodos son:

               @Override
protected String doInBackground(String... params) {
//Aqui ejecutaremos la tarea de nuestro hilo asincrono
}

@Override
protected void onPostExecute(String result) {
//Esto se ejecutara al terminar el hilo, es decir la tarea ejecutada en el doInBackgroun
}

@Override
protected void onPreExecute() {
//Esto se ejecutara antes de ejecutar la tarea del doInBackground
}

Tanto en el metodo OnPreExecute, como en el OnPostExecute, es el lugar ideal para lanzar Toast, o cambiar elementos de la interfac

Espero os sirva de ayuda.

sábado, 17 de mayo de 2014

java.lang.IllegalStateException: Could not find a method Close(View) in the activity - Android

Muchos de nosotros estamos acostumbrados a poner un botón de cerrar en nuestras vistas, dicho botón, lo solemos vincular en el método OnClick con un método Close, como en la siguiente linea.
android:onClick="Close"
Esto nos lleva a escribir un método similar al siguiente:
    public void Close() {
        finish();
    }
Pero ese código nos lanzara un error de este tipo:
java.lang.IllegalStateException: Could not find a method Close(View) in the activity 
Esto es debido a que probablemente por las prisas hallamos olvidado que nuestro método necesita que se le pase una vista, por lo que el código correcto seria:
    public void Close(View view) {
        finish();
    }

viernes, 16 de mayo de 2014

you need to use a theme.appcompat theme (or descendant) with this activity - Android

En ocasiones podemos encontrarnos con un error como este:
unable to start activity componentinfo
.....
you need to use a theme.appcompat theme (or descendant) with this activity
esto es debido a que probablemente estemos usando un tema personalizado en una Activity, que en realidad es un ActionBarActivity, esta ultima clase necesita usar el tema appCompat, por lo que deberemos ir a nuestro manifest, y editar el Theme de la actividad a lo siguiente
android:theme="@style/Theme.AppCompat" >
Aunque también podemos hacer que nuestra actividad extienda de Activity en lugar de ActionBarActivity, para ello habría que cambiar
public class MainActivity extends ActionBarActivity {
por
public class MainActivity extends Activity {
Escogeremos en cada caso la opción que mas nos interese

miércoles, 14 de mayo de 2014

Acceder a recursos de un Fragment desde un Activity mediante findById - Android

Hoy os dejo algo que me ha llevado un buen rato.
Todos los que aprendimos o hicimos nuestros pinitos hace ya algun tiempo con Android aprendimos que para "linkar" un elemento de una activity a nuestro archivo java, para poder trabajar con el, ya sea un botón, un Text View o cualquier otra cosa accediamos con un codigo similar a este.
salida = (TextView)findViewById(R.id.textView1);
Esto mismo normalmente lo colocabamos en el onCreate de nuestro Activity, pero desde hace ya algun tiempo lo que se viene usando son los Fragment, un fragment viene siendo una parte de lo que se va a ver en el Activity, puede ser el 100% o una pequeña parte, asi un Activity, puede estar formado por 1 o mas Fragment, en resumidas cuentas eso es lo que es.

Pues bien el problema esta en que si desde nuestro Activity, intentamos llamar a un textView que esta en nuestro Fragment como en el ejemplo superior, nos dara un error de tiempo de ejecucion, y si lo bicheamos un poco, veremos que aunque R.id.textView1 tiene un valor hexadecimal, a nuestra variable Salida sigue con null, esto es debido a que desde nuestra Activity no podemos acceder a los elementos del Fragment, para ello deberemos ir a la clase PlaceHolderFragment que nos ha creado Eclipse, y llamarlo desde alli como en el codigo que os dejo a continuación

    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {
        public PlaceholderFragment() {
        }
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);
            entrada = (EditText)rootView.findViewById(R.id.numEntrada);
            salida = (TextView)rootView.findViewById(R.id.numSalida);
            return rootView;
        }
    }
Espero os sirva de ayuda

Tambien os dejo el ejemplo completo y funcionando
https://github.com/rogama/Android---vista-boton-fragment

asi era como se hacia sin los Fragment
https://github.com/rogama/Android/tree/master/MasVistas

viernes, 25 de abril de 2014

Tienda en blanco al cambiar de servidor - prestashop

Llevo una temporada migrando una web a otro servidor, hoy estaba con la parte de la tienda, la cual esta montada en Prestashop, he copiado todos los archivos al nuevo server, y la base de datos, pero para mi sorpresa me encontre con que al entrar a la web me carga una pagina en blanco


no puedo entrar ni al administrador, si tecleo la URL obtengo el mismo resultado, rebuscando por hay sugerian:

  • dar permisos a las carpetas
  • borrar carpeta cache
  • me asegurado que en la base de datos apunte al "nuevo dominio"
Pero Sigue sin funcionar

no es cosa del .htaccess ya que lo he renombrado y sigo con el mismo problema

Cambio el valor de:
define('_PS_MODE_DEV_', true);
estaba en false en el archivo config/defines.inc.php

Y me da error:
Fatal error: Uncaught Table '*****_2013.****_shop_url' doesn't exist
Asi que reimportare la base de datos.

Y Solucionado!!!

jueves, 24 de abril de 2014

Fatal error: Uncaught exception 'Mailchimp_ServerError_MethodUnknown' - Mailchimp - PHP

Despues Del error que describo en: http://www.rogamainformatica.es/2014/04/fatal-error-uncaught-exception.html me aparecio este otro:
Fatal error: Uncaught exception 'Mailchimp_ServerError_MethodUnknown' with message 'Unknown method "lists/*******"' in C:\xampp\htdocs\*******\dashboard\mailchimp\src\Mailchimp.php:340 Stack trace: #0 C:\xampp\htdocs\******\dashboard\mailchimp\src\Mailchimp.php(319): Mailchimp->castError(Array) #1 C:\xampp\htdocs\**********\dashboard\test.php(6): Mailchimp->call('lists/********', '') #2 {main} thrown inC:\xampp\htdocs\*******\dashboard\mailchimp\src\Mailchimp.php on line 340

Este ultimo es simplemente por como lo llamamos
estaba usando
$lista = $mailchimp->call('list/list');
print_r($lista);
en vez de
print_r($mailchimp->call('lists/list',''));

Fatal error: Uncaught exception 'Mailchimp_HttpError' - PHP - MailChimp

Hoy he tenido que pelearme con la API de MailChimp, y ... bueno, al menos en lo que se refiere a PHP, no he mirado como esta documentada para otros lenguajes, pero a lo que viene siendo PHP, si no usas algun framework tipo Zend o Simfony en tu proyecto estas un poco vendido, buscate la vida y peleate con el.

Entre otras cosas me encontrado con este error (en un post futuro, explicare como montala en tu proyecto)
Fatal error: Uncaught exception 'Mailchimp_HttpError' with message 'API call to lists/****** failed: SSL certificate problem: unable to get local issuer certificate' in C:\xampp\htdocs\*****\dashboard\mailchimp\src\Mailchimp.php:314 Stack trace: #0 C:\xampp\htdocs\*****\dashboard\test.php(6): Mailchimp->call('lists/*****', '') #1 {main} thrown in C:\xampp\htdocs\******\dashboard\mailchimp\src\Mailchimp.php on line 314
  1. Parece ser que simplemente no tenia certificado mi servidor, la solucion a esto es muy sencilla:
  2. Descargar y guardar en donde tengamos instalado el PHP en nuestro equipo el sigueinte archivo: http://curl.haxx.se/docs/caextract.html en mi caso la ruta es: C:\xampp\php\
  3. Escribir la sigueinte linea al final de nuestro PHP.inicurl.cainfo="C:\xampp\php\cacert.pem"
  4. Reiniciar nuestro apache
Fuente:
http://redwebturtle.blogspot.com.es/2013/09/mailchimp-api-v20-ssl-error-solution.html

viernes, 7 de febrero de 2014

Enviar mensaje de correo electrónico de prueba: No se puede enviar el mensaje. Compruebe la dirección de correo electrónico en las propiedades de la cuenta. El servidor respondió: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1)

Enviar mensaje de correo electrónico de prueba: No se puede enviar el mensaje. Compruebe la dirección de correo electrónico en las propiedades de la cuenta.  El servidor respondió: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1)

Aparece cuando en Outlook, o nuestro gestor de correos no se ha marcado la casilla en mas configuraciones -> Servidor de salida -> Mi servidor de salida (SMTP) requiere autenticación y claro esta es necesaria.


jueves, 6 de febrero de 2014

XML error parsing SOAP payload on line 1: Invalid character

Al usar un webservice aveces podemos recibir este error, no es ni mas ni menos a que hemos mandado algún carácter extraño para la codificación que estemos usando, en mi caso mandaba una ñ en un UTF-8, si cambiamos la codificación a ISO-8859-1 lo arreglaremos, para ello usando NuSoap, deberemos abrir el archivo nusoap.php, que esta ubicado en nuestro proyecto en la carpeta NuSoap/lib
y en la linea 149 copiar lo siguiente

    var $soap_defencoding = 'ISO-8859-1';
    //var $soap_defencoding = 'UTF-8';

Solucionado ;)

martes, 28 de enero de 2014

nusoap_client: Error: XML error parsing SOAP payload on line 1: Not well-formed (invalid token)

Este error nos aparecerá, al intentar consumir un WebService, mal montado, ya que en algún lugar tiene un echo, simplemente cambiamos los echo por return en el webService Server y arreglado ;)

miércoles, 15 de enero de 2014

Warning: call_user_func() expects parameter 1 to be a valid callback, function 'rules_events_entity_unchanged' not found - Drupal

Al actualizar el modulo de commerce coupon, a su nueva versión 7.x-2.0-beta1 lanzada hace unos días nos aparecerá un Warning en pantalla.
Para solucionar este error:

Warning: call_user_func() expects parameter 1 to be a valid callback, function 'rules_events_entity_unchanged' not found.

lunes, 13 de enero de 2014

Undefined variable: tab_root_map en _menu_translate() - implode() [function.implode]: Invalid arguments passed en _menu_translate() - Drupal

Para solucionar el error:

  • Notice: Undefined variable: tab_root_map en _menu_translate() (línea 787 de /home/admin/public_html/includes/menu.inc).
  • Warning: implode() [function.implode]: Invalid arguments passed en _menu_translate() (línea 787 de /home/admin/public_html/includes/menu.inc).

sábado, 11 de enero de 2014

Aparecen etiquetas HTML en selector de datos - Drupal

Me he encontrado con este error, en el Data Selector de las reglas en Drupal 7 me aparecían etiquetas HTML como podéis ver abajo; en lugar de un simple texto en el desplegable, desde el cual escoger la opción que mas nos interese en cada momento

lunes, 6 de enero de 2014

Implicit conversion of 'int' to 'id' is disallowed with ARC - IOS

Este error suele darnos en un código de este tipo:

int entero = 21;
NSMutableDictionary *diccionario = [[NSMutableDictionary alloc] init];
[diccionario setObject:entero forKey:@"numero"];
Es debido a que no podemos meter un int (ni ningún dato de tipo escalar) en un Dictionary, para hacerlo deberemos usar un NSNumber, asi que cambiado:

int entero = 21;
por NSNumber *entero = [[NSNumber alloc] initWithInt:21];

Lo tenemos arreglado.

PD: lo mismo nos ocurrira en un array