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
Suscribirse a:
Entradas (Atom)