viernes, 26 de septiembre de 2014

Instalar librería mcrypt de PHP en CentOS 6

En Centos 6 no viene por defecto el repositorio para descargarnos la extensión mcrypt para PHP. Para instalar el paquete mcrypt de PHP tenemos que habilitar el repositorio epel e instalar el paquete php-mcrypt.

Para ello realizaremos los siguientes pasos:

1. Conectar con el equipo Linux vía SSH con el usuario root.

2. Descargar el último repositorio epel. Antes hay que averiguar tal y como he explicado en el anterior post si la arquitectura es de 32 o 64 bits.

  • CentOS 6 32 Bit 

          $ wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

  • CentOS 6 64 Bit 

          $ wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm


3. Instalar el repositorio descargado

    $ rpm -ivh epel-release-6-8.noarch.rpm


4. Instalar el paquete mcrypt

    $ yum install php-mcrypt


5. Reiniciar Apache

    $ service httpd restart


6. Comprobar si el paquete está correctamente instalado

    $ php -m | grep -i mcrypt


En el caso en que al instalar el paquete nos dé el siguiente error:

Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

Lo que tenemos que hacer es editar el fichero /etc/yum.repos.d/epel.repo y donde pone https:// cambiarlo por http:// y volver a ejecutar a partir del punto 4.

Saber si la versión de Linux es 32 o 64 bits

En el post anterior os explicábamos la forma de obtener la versión de distribución del equipo Linux al que nos encontrábamos conectado mediante cat /etc/issue.

Pero además, otra información que nos puede interesar conocer es si el sistema tiene una arquitectura de 32 bits o 64 bits. Para esto vamos a utilizar el comando uname. Este comando tiene varios argumentos aunque el que más nos interesa para este caso es:

$ uname -m

Este comando devolverá una de estas dos posibilidades sobre la arquitectura:
86_64 - Arquitectura de 64 bits
i686 - Arquitectura de 32 bits

Como saber que distribucion y versión de Linux tenemos instalada

Hay veces en las que necesitamos conocer la distribución y versión de Linux que tiene el equipo al que nos estamos conectando.
Para ello tenemos varias posibilidades, aunque la más simple sería esta:
cat /etc/issue
En este caso nos devuelve:
CentOS release 6.4 (Final)
Con lo que obviamente vemos que se trata de la versión 6.4 de CentOS.

Obtener usuarios y permisos MySQL

Los usuarios creados en MySQL se almacenan en una tabla llamada user dentro de la base de datos mysql.
Si queremos obtener el listado de usuarios simplemente podemos lanzar esta consulta:
select user, password, host from mysql.user;

Si después necesitamos obtener la lista de privilegios que tiene uno de los usuarios podemos hacerlo con:
SHOW GRANTS FOR user;

Siendo user uno de los usuarios que nos ha devuelto la SQL anterior que deberemos escribir uniendo el resultado de la columna user y host separados por el símbolo de @. Por ejemplo:
SHOW GRANTS FOR 'root'@'localhost';

martes, 23 de septiembre de 2014

Llenar una cadena con ceros a la izquierda mediante Javascript

Hace un año aproximadamente colgué en este enlace la forma de llenar una cadena con ceros a la izquierda especificando la longitud de la cadena que se deseaba mediante PHP. En esta ocasión me ha hecho falta con Javascript y aquí os dejo la función:

function zerofill(valor, longitud){
  var cad = new Array(1+longitud).join('0');
  return (cad+valor).slice(-cad.length);
}

martes, 16 de septiembre de 2014

Obtener lista de parámetros pasados por GET mediante Javascript

Si necesitamos obtener una lista de los parámetros que nos han pasado en una url y necesitamos hacerlo con Javascript lo podemos realizar sin problemas con esta pequeña función que os dejo a continuación:
function getParamsGET(){
 var url = document.location.href;
 var strparams = url.split('?')[1];
 var arrparams = strparams.split('&');
 var arrget = {};

 for (var i = 0, l = arrparams.length; i < l; i++){
  var arrtmp = arrparams[i].split('=');
  arrget[arrtmp[0]] = unescape(decodeURI(arrtmp[1]));
 }
 return arrget;
}

Convertir tamaño de puntos a píxels con Javascript

Hoy os dejo una sencilla función que tuve que buscar para convertir el tamaño de una fuente de puntos a píxels y así poder averiguar qué iba a ocupar un texto mediante Javascript.

La función es la siguiente:

function pttopx(valpt){
 var valpx = parseInt(valpt, 10);
 valpx = parseInt(((valpx*96)/72), 10);
 return valpx;
}

lunes, 15 de septiembre de 2014

Ranking de lenguajes de programación más usados. Índice TIOBE septiembre 2014

Java y C++ en su momento más bajo


Después de varios meses sin publicar los datos del índice TIOBE os mostramos este mes como noticia más destacada el descenso de los lenguajes de propósito general Java y C++, que se encuentran en el momento más bajo desde que se inició este ranking en el año 2001. Ambos lenguajes siguen teniendo una enorme demanda por parte de los desarrolladores, aunque según algunos expertos, están perdiendo poder ya que están apareciendo muchos campos científicos que utilizan sus propios lenguajes de programación específicos, como la biomedicina y la estadística.

La lista queda de la siguiente forma:

Sep 2014Sep 2013ChangeProgramming LanguageRatingsChange
11C16.721%-0.25%
22Java14.140%-2.01%
34changeObjective-C9.935%+1.37%
43changeC++4.674%-3.99%
56changeC#4.352%-1.21%
67changeBasic3.547%-1.29%
75changePHP3.121%-3.31%
88Python2.782%-0.39%
99JavaScript2.448%+0.43%
1010Transact-SQL1.675%-0.32%
1111Visual Basic .NET1.532%-0.31%
1212Perl1.369%-0.32%
1313Ruby1.281%-0.10%
14-changeVisual Basic1.272%+1.27%
1514changeDelphi/Object Pascal1.157%+0.26%
1626changeF#0.990%+0.49%
1715changePascal0.893%+0.01%
18-changeSwift0.852%+0.85%
1919MATLAB0.818%+0.18%
2017changePL/SQL0.809%+0.13%

Eliminar un directorio completo con PHP

Con esta función recursiva lo que vamos a hacer es eliminar un directorio completo, borrando los ficheros y subdirectorios que pueda contener. El código fuente sería el siguiente:
 function deleteDirectory($dir){
     $result = false;
     if ($handle = opendir("$dir")){
         $result = true;
         while ((($file=readdir($handle))!==false) && ($result)){
             if ($file!='.' && $file!='..'){
                 if (is_dir("$dir/$file")){
                     $result = deleteDirectory("$dir/$file");
                 } else {
                     $result = unlink("$dir/$file");
                 }
             }
         }
         closedir($handle);
         if ($result){
             $result = rmdir($dir);
         }
     }
     return $result;
 }