Con la llegada del PHP5.3 algunas características anteriores has sido obsoletas (Deprecated).
Ahora PHP 5.3 tiene dos nuevos niveles de error: E_DEPRECATED y nos advierte que la actual función esta obsoleta.
Pero no solo afecta a la programación sino también a la configuración del php.ini. La siguientes características lanza el error E_DEPRECATED al inicio de la ejecución.
* define_syslog_variables
* register_globals
* register_long_arrays
* safe_mode
* magic_quotes_gpc
* magic_quotes_runtime
* magic_quotes_sybase
En esta nueva versión también hay un montón de funciones obsoletas que es necesario conocerlas para evitar sustos desagradables:
* r call_user_method() (usar call_user_func() )
* call_user_method_array() (usar call_user_func_array() )
* define_syslog_variables()
* dl()
* ereg() (usar preg_match() )
* ereg_replace() (usar preg_replace() )
* eregi() (usar preg_match() )
* eregi_replace() (usar preg_replace() )
* set_magic_quotes_runtime() y sus alias, magic_quotes_runtime()
* session_register() (usar la superglobal $_SESSION )
* session_unregister() (usar la superglobal $_SESSION )
* session_is_registered() (usar la superglobal $_SESSION )
* set_socket_blocking() (usar stream_set_blocking() )
* split() (usar preg_split() )
* spliti() (usar preg_split() )
* sql_regcase()
* mysql_db_query() (usar mysql_select_db() and mysql_query() )
* mysql_escape_string() (usar mysql_real_escape_string() )
* El parametro is_dst de mktime(). Utilizar el nuevo controlador.
Y finalmente, para terminar pongo las ultimas características obsoletas en php 5.3:
* La asignación del retorno del valor de un new por referencia es obsoleto.
* Call-time pass-by-reference es obsoleta
* El uso de {} para acceder a índices de las cadenas es obsoleto. Se debe usar [] en su lugar.
martes, 31 de agosto de 2010
domingo, 29 de agosto de 2010
Linux >> MySQL >> Restaurar privilegios usuario Root
Puede ocurrir (aunque es raro) que el usuario root de MySQL pierda los privilegios respecto a las bases de datos. Esto puede ser solucionado del siguiente modo:
Parar el servicio mysql (Entrar en services.msc y parar el servicio).
Iniciar mysql desde línea de comandos con la opción –skip-grant-tables:
mysqld --skip-grant-tables
o bien:
mysqld_safe --skip-grant-tables --skip-networking&
Abrimos otra consola, y nos conectamos al mysql con el usuario root, pero sin password:
mysql -u root
Seleccionamos la base de datos mysql:
use mysql;
Añadimos un nuevo superusuario llamado root2, de este modo creamos un ususario con todos los privilegios, a través del cual otorgaremos de nuevo los privilegios al usuario root:
INSERT INTO user VALUES('localhost', 'root2', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0');
Nota: La cantidad de columnas en el VALUES del INSERT puede variar según la versión del MySQL. Hacer un show create tables user; para ver cuantas columnas tiene la tabla.
Paramos el servicio mysqld –skip-grant-tables, podemos matarlo desde el taskmanager y arrancamos el servicio mysql de forma normal.
Accedemos con el nuevo superusuario (no tiene clave):
mysql -u root2
Otorgamos al usuario root los permisos necesarios:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root_password' WITH GRANT OPTION;
Recargamos los privilegios:
FLUSH PRIVILEGES;
Eliminamos el usuario root2:
use mysql;
delete from user where user='root2';
flush privileges;
Parar el servicio mysql (Entrar en services.msc y parar el servicio).
Iniciar mysql desde línea de comandos con la opción –skip-grant-tables:
mysqld --skip-grant-tables
o bien:
mysqld_safe --skip-grant-tables --skip-networking&
Abrimos otra consola, y nos conectamos al mysql con el usuario root, pero sin password:
mysql -u root
Seleccionamos la base de datos mysql:
use mysql;
Añadimos un nuevo superusuario llamado root2, de este modo creamos un ususario con todos los privilegios, a través del cual otorgaremos de nuevo los privilegios al usuario root:
INSERT INTO user VALUES('localhost', 'root2', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0');
Nota: La cantidad de columnas en el VALUES del INSERT puede variar según la versión del MySQL. Hacer un show create tables user; para ver cuantas columnas tiene la tabla.
Paramos el servicio mysqld –skip-grant-tables, podemos matarlo desde el taskmanager y arrancamos el servicio mysql de forma normal.
Accedemos con el nuevo superusuario (no tiene clave):
mysql -u root2
Otorgamos al usuario root los permisos necesarios:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root_password' WITH GRANT OPTION;
Recargamos los privilegios:
FLUSH PRIVILEGES;
Eliminamos el usuario root2:
use mysql;
delete from user where user='root2';
flush privileges;
sábado, 7 de agosto de 2010
LInux >> consola >> cuál es mi distribución y versión
Suele suceder, que a veces queremos averiguar que versión de cierta distribución GNU/Linux estamos utilizando; o porque no, que Distribuciones GNU/Linuxdistribución de GNU/Linux se tiene instalada y no sabemos como averiguarlo.
Como siempre, la consola puede respondernos todo esto. Y mucho más.
Veamos qué comandos podemos utilizar para tal fin; usando mi distro como ejemplo:
# cat /etc/issue.net
Lo que nos devolverá un mensaje como el siguiente:
# Fedora release 13 (Goddard)
Es decir, que nos muestra la distribución y su versión.
También es posible que queramos un poco mas de información, para ello ejecutamos el siguiente comando:
# cat /proc/version
Lo que nos devolverá un mensaje como el siguiente:
# Linux version 2.6.33.6-147.2.4.fc13.x86_64 (mockbuild@x86-18.phx2.fedoraproject.org) (gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) ) #1 SMP Fri Jul 23 17:14:44 UTC 2010
Como vemos, nos muestra mucho más información, como la versión de Kernel, la arquitectura, la versión de Fedora, y demás.
Y si sabemos cual es la distribución, y queremos averiguar la versión de la distro utilizada, podemos ver en la siguiente lista (de la que me entero en Unix.com), los archivos de información para las diferentes distribuciones.
Novell SuSE: /etc/SuSE-release
Red Hat: /etc/redhat-release, /etc/redhat_version
Fedora: /etc/fedora-release
Slackware: /etc/slackware-release, /etc/slackware-version
Debian: /etc/debian_release, /etc/debian_version
Mandrake: /etc/mandrake-release
Yellow dog: /etc/yellowdog-release
Sun JDS: /etc/sun-release
Solaris/Sparc: /etc/release
Gentoo: /etc/gentoo-release
Como siempre, la consola puede respondernos todo esto. Y mucho más.
Veamos qué comandos podemos utilizar para tal fin; usando mi distro como ejemplo:
# cat /etc/issue.net
Lo que nos devolverá un mensaje como el siguiente:
# Fedora release 13 (Goddard)
Es decir, que nos muestra la distribución y su versión.
También es posible que queramos un poco mas de información, para ello ejecutamos el siguiente comando:
# cat /proc/version
Lo que nos devolverá un mensaje como el siguiente:
# Linux version 2.6.33.6-147.2.4.fc13.x86_64 (mockbuild@x86-18.phx2.fedoraproject.org) (gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) ) #1 SMP Fri Jul 23 17:14:44 UTC 2010
Como vemos, nos muestra mucho más información, como la versión de Kernel, la arquitectura, la versión de Fedora, y demás.
Y si sabemos cual es la distribución, y queremos averiguar la versión de la distro utilizada, podemos ver en la siguiente lista (de la que me entero en Unix.com), los archivos de información para las diferentes distribuciones.
Novell SuSE: /etc/SuSE-release
Red Hat: /etc/redhat-release, /etc/redhat_version
Fedora: /etc/fedora-release
Slackware: /etc/slackware-release, /etc/slackware-version
Debian: /etc/debian_release, /etc/debian_version
Mandrake: /etc/mandrake-release
Yellow dog: /etc/yellowdog-release
Sun JDS: /etc/sun-release
Solaris/Sparc: /etc/release
Gentoo: /etc/gentoo-release
sábado, 10 de julio de 2010
Fedora Linux >> Instalar navegador Google Chrome versión estable
Gente querida, como estan? Aquí vamos con un nuevo post. Esto es muy interesante ya que podremos usar otro navegador, y conocido, aparte del Mozilla Firefox en nuestro Fedora. En este momento podremos instalar Chrome versión 5.0.375.99, actualizada.

1.Edita un archivo llamado google.repo en /etc/yum.repos.d/
#vi /etc/yum.repos.d/google.repo
2. Dentro del archivo escribe lo siguiente:
[google64]
name=Google - x86_64
baseurl=http://dl.google.com/linux/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
Graba ésto haciendo [Esc], :wq, [Enter]
NOTA: para la versión de 32 bits cambiar en la linea name y en baseurl x86_64 por i386.
3. Instala google chrome
#yum install google-chrome-stable
Y listo!
Nota:
-----
Hay una variable que automatizaría esto… es $basearch o algo así… o sea, escribe $basearch en lugar de especificar tu arquitectura y ya….
Para verificar qué variable es, mira dentro de cualquier .repo en /etc/yum.repos.d/ y dedúcelo.

1.Edita un archivo llamado google.repo en /etc/yum.repos.d/
#vi /etc/yum.repos.d/google.repo
2. Dentro del archivo escribe lo siguiente:
[google64]
name=Google - x86_64
baseurl=http://dl.google.com/linux/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
Graba ésto haciendo [Esc], :wq, [Enter]
NOTA: para la versión de 32 bits cambiar en la linea name y en baseurl x86_64 por i386.
3. Instala google chrome
#yum install google-chrome-stable
Y listo!
Nota:
-----
Hay una variable que automatizaría esto… es $basearch o algo así… o sea, escribe $basearch en lugar de especificar tu arquitectura y ya….
Para verificar qué variable es, mira dentro de cualquier .repo en /etc/yum.repos.d/ y dedúcelo.
viernes, 9 de julio de 2010
Linux >> Uso de Consola >> Cómo modificar la hora del sistema y la bios
Para cambiar la hora del sistema usaremos el comando date, pero debemos tener en cuenta que al reinicializar la computadora, éste tomará la hora de la BIOS y nos volverá a colocar la hora anterior en el sistema. Para evitar esto cambiaremos también la hora de la BIOS con el comando hwclock como se detalla a continuación:
Suponemos que queremos colocar la fecha: 09-Jul-2010 y la hora 14:10.
Esto lo haremos como root:
# date --set "2010-07-09 14:10"
Fri Jul 09 14:14:00 CET 2010
Ahora realizaremos el mismo cambio para actualizar la fecha en la BIOS.
# hwclock --set --date="2010-07-09 14:10"
Para comprobarlo tecleamos:
# hwclock
Fri Jul 09 14:14:06 2010 -0.010586 seconds
Sencillo no?
Para más ayuda sobre el manejo de hora y fecha, y sus parámetros, escribimos:
# date --help
Suponemos que queremos colocar la fecha: 09-Jul-2010 y la hora 14:10.
Esto lo haremos como root:
# date --set "2010-07-09 14:10"
Fri Jul 09 14:14:00 CET 2010
Ahora realizaremos el mismo cambio para actualizar la fecha en la BIOS.
# hwclock --set --date="2010-07-09 14:10"
Para comprobarlo tecleamos:
# hwclock
Fri Jul 09 14:14:06 2010 -0.010586 seconds
Sencillo no?
Para más ayuda sobre el manejo de hora y fecha, y sus parámetros, escribimos:
# date --help
martes, 6 de julio de 2010
MySQL >> cambiar contraseña de usuario root
Sólo sigue estás instrucciones y podrás establecer una contraseña nueva. Necesitarás acceder a la consola o telnet con el usuario root del sistema.
1. DETENER EL SERVIDOR
#> service mysqld stop
o
#> /etc/rc.d/init.d/mysqld stop
2. INICIAR EN MODO FULL O ABIERTO
#> mysqld_safe --skip-grant-tables --skip-networking&
--skip-grant-tables esta opción causa que el servidor no use el sistema de privilegios lo que le da acceso ilimitado a todas las bases de datos a todos los usuarios de la base de datos.
NOTA: Si MySQL fue configurado y compilado con la opción '--disable-grant-options' entonces lo anterior no funcionará y no hay mucho que se pueda hacer entonces y no se podrá cambiar la contraseña, aunque en la práctica realmente esta opción casi no se usa.
--skip-networking deja de escuchar (LISTEN) conexiones TCP/IP provenientes de la red, es decir MySQL trabajaría en un ambiente totalmente local.
3. INICIAR EL MONITOR
#>mysql -u root
Como no hay sistema de privilegios en este momento, no se preguntara por la contraseña.
4. USAMOS LA BASE DE DATOS DEL SISTEMA mysql
mysql> use mysql;
5. ACTUALIZAMOS EL CAMPO QUE CAMBIARA LA CONTRASEÑA DE 'root'
mysql> UPDATE user SET password=PASSWORD('nuevo_pass') WHERE user='root';
Query OK, 1 rows affected (0.07 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> exit
#>
6. REINICIAMOS EL SERVIDOR.
#> service mysqld restart
1. DETENER EL SERVIDOR
#> service mysqld stop
o
#> /etc/rc.d/init.d/mysqld stop
2. INICIAR EN MODO FULL O ABIERTO
#> mysqld_safe --skip-grant-tables --skip-networking&
--skip-grant-tables esta opción causa que el servidor no use el sistema de privilegios lo que le da acceso ilimitado a todas las bases de datos a todos los usuarios de la base de datos.
NOTA: Si MySQL fue configurado y compilado con la opción '--disable-grant-options' entonces lo anterior no funcionará y no hay mucho que se pueda hacer entonces y no se podrá cambiar la contraseña, aunque en la práctica realmente esta opción casi no se usa.
--skip-networking deja de escuchar (LISTEN) conexiones TCP/IP provenientes de la red, es decir MySQL trabajaría en un ambiente totalmente local.
3. INICIAR EL MONITOR
#>mysql -u root
Como no hay sistema de privilegios en este momento, no se preguntara por la contraseña.
4. USAMOS LA BASE DE DATOS DEL SISTEMA mysql
mysql> use mysql;
5. ACTUALIZAMOS EL CAMPO QUE CAMBIARA LA CONTRASEÑA DE 'root'
mysql> UPDATE user SET password=PASSWORD('nuevo_pass') WHERE user='root';
Query OK, 1 rows affected (0.07 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> exit
#>
6. REINICIAMOS EL SERVIDOR.
#> service mysqld restart
domingo, 4 de julio de 2010
Fedora >> Instalar Eclipse
Eclipse es un IDE (Integrated Development Environment - Entorno Integrado de Desarrollo) construido para ser extensible y apoyar el desarrollo de software en todo su ciclo de vida.

Eclipse traicionalmente se conoce como un IDE para Java (y es fenomenal en ello!) pero es mucho más que eso, permitiendo a través de extensiones desarrollar en otros lenguajes como C, Python y PHP.
Antes de instalar Eclipse necesitas tener Java Runtime Environment (JRE) instalado en tu equipo. Recuerda que Fedora viene con OpenJDK (la versión abierta de Java) que funciona a la perfección, pero personalmente, para éstas tareas de desarrollo, recomiendo la versión oficial de Sun.
Para instalar el JRE puedes consultar éste post.
Eclipse está disponible en los repositorios de Fedora, pero no cuenta con todos los plugins disponibles y además dificulta en cierta manera agregar nuevos, así que optamos por descargar la versión oficial, consulta http://www.eclipse.org/downloads/ para obtener la última versión.
Nota: Al día de éste post la última versión es la Helios. Se descargará un archivo con extensión .tar.gz
Una vez descargado el archivo procedemos a descomprimirlo. Puedes hacerlo haciendo clic derecho sobre el archivo descargado y luego seleccionando la opción "Extraer aquí" o a través de la consola:
$ tar xzvf Descargas/eclipse-php-helios-linux-gtk-x86_64.tar.gz
Una vez descomprimido quedará una carpeta llamada eclipse que moveremos a la carpeta /opt digitando en consola (requiere contraseña de root):
$ mv Descargas/eclipse /opt/Eclipse
Esta instrucción es todo lo que necesitamos para "instalar" Eclipse.
Finalmente creamos un lanzador en el escritorio. Para ello vamos al escritorio y hacemos clic derecho en cualquier parte vacía del mismo. En el menú seleccionamos la opción "Crear un lanzador".
Verá una pantalla así:

Tipo: Aplicación
Nombre: Eclipse
Comando: /opt/Eclipse/eclipse
Descripción: Eclipse IDE
Si lo deseamos podemos personalizar el ícono de una vez, haciendo clic sobre "el trampolín" (La plataforma con resorte).
¡Listo! Eclipse está preparado para empezar a trabajar.
Nota: Si al ejecutar Eclipse por consola obtienes un error como:
opt/jdk1.6.0_18/bin/../jre/lib/i386/client/libjvm.so: no se puede restaurar el `prot' del segmento después de la relocalización: Permiso denegado.
Modifica el lanzador añadiendo como argumento la ubicación de la VM Java:
Comando: /opt/Eclipse/eclipse -VM /opt/jdk1.6.0_20/bin/java

Eclipse traicionalmente se conoce como un IDE para Java (y es fenomenal en ello!) pero es mucho más que eso, permitiendo a través de extensiones desarrollar en otros lenguajes como C, Python y PHP.
Antes de instalar Eclipse necesitas tener Java Runtime Environment (JRE) instalado en tu equipo. Recuerda que Fedora viene con OpenJDK (la versión abierta de Java) que funciona a la perfección, pero personalmente, para éstas tareas de desarrollo, recomiendo la versión oficial de Sun.
Para instalar el JRE puedes consultar éste post.
Eclipse está disponible en los repositorios de Fedora, pero no cuenta con todos los plugins disponibles y además dificulta en cierta manera agregar nuevos, así que optamos por descargar la versión oficial, consulta http://www.eclipse.org/downloads/ para obtener la última versión.
Nota: Al día de éste post la última versión es la Helios. Se descargará un archivo con extensión .tar.gz
Una vez descargado el archivo procedemos a descomprimirlo. Puedes hacerlo haciendo clic derecho sobre el archivo descargado y luego seleccionando la opción "Extraer aquí" o a través de la consola:
$ tar xzvf Descargas/eclipse-php-helios-linux-gtk-x86_64.tar.gz
Una vez descomprimido quedará una carpeta llamada eclipse que moveremos a la carpeta /opt digitando en consola (requiere contraseña de root):
$ mv Descargas/eclipse /opt/Eclipse
Esta instrucción es todo lo que necesitamos para "instalar" Eclipse.
Finalmente creamos un lanzador en el escritorio. Para ello vamos al escritorio y hacemos clic derecho en cualquier parte vacía del mismo. En el menú seleccionamos la opción "Crear un lanzador".
Verá una pantalla así:

Tipo: Aplicación
Nombre: Eclipse
Comando: /opt/Eclipse/eclipse
Descripción: Eclipse IDE
Si lo deseamos podemos personalizar el ícono de una vez, haciendo clic sobre "el trampolín" (La plataforma con resorte).
¡Listo! Eclipse está preparado para empezar a trabajar.
Nota: Si al ejecutar Eclipse por consola obtienes un error como:
opt/jdk1.6.0_18/bin/../jre/lib/i386/client/libjvm.so: no se puede restaurar el `prot' del segmento después de la relocalización: Permiso denegado.
Modifica el lanzador añadiendo como argumento la ubicación de la VM Java:
Comando: /opt/Eclipse/eclipse -VM /opt/jdk1.6.0_20/bin/java
Suscribirse a:
Entradas (Atom)
