Páginas: Anterior 1 2 3 4 5 6 7 8 ...22 23 24 Siguiente
Páginas: Anterior 1 2 3 4 5 6 7 8 ...22 23 24 Siguiente

Páginas: Anterior 1 2 3 4 5 6 7 8 ...22 23 24 Siguiente

Solucionar Warning: session_start() [function.session-start]: open(/tmp/sess_404b65f5a6f22fd57694ce1442af5769, O_RDWR) failed: Permission denied (13)

9 07 2010

El error completo sera algo como:

PHP Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp/) in Unknown on line 0
PHP Warning: Unknown(): open(/tmp/sess_404b65f5a6f22fd57694ce1442af5769, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: open(/tmp/sess_404b65f5a6f22fd57694ce1442af5769, O_RDWR) failed: No such file or directory (2)

Las sesiones en php, son simplemente una cookie, pero que se almacena en servidor. Y una cookie es simplemente un fichero de texto con un hash y variables con datos.

Este error puede darse en el session_start() y puede darse que al no asignar un nombre especifico a la sesión, se use un genérico, que tiene la forma sess_(un hash) y se use un fichero de sesión aleatorio que haya dado colisión con otro que haya sido creado por otro usuario que lo este usando también sin establecer nombre.

¿y porque se da el error? Porque estas viendo una página “cacheada” en tu navegador y el servidor tiene asignada esa cookie-sesion a otro usuario, por eso de dice que no tienes permisos. La solución seria borrar la cache, pero aunque es un apaño, la culpa no la tiene el usuario, esta en el servidor por haber asignado esa cookie-session a otro usuario previamente no haber liberado la cookie-session.

Pero tampoco podemos echarle toda la culpa al servidor si nosotros lo programamos de tal modo.

En algún comentario en ingles podéis leer ”in the belief that somehow the two people were getting the same ID and hence temp file”.

Yo tengo bastante experiencia en php y nunca se me había dado este error y ya de por sí me resultaba muy raro. Pero esto es un problema que esta generando PHP con phpsuexec.

Buscando en google, aparentemente no hay soluciones, pero si que había reportes de bug en el bugtracker de PHP:
http://bugs.php.net/bug.php?id=19022 (BUG PADRE)
Otros bugs relacionados:
http://bugs.php.net/bug.php?id=43990
http://bugs.php.net/bug.php?id=5370

Si observas las respuestas de google de otros hosting, dan como solución  “contrata a un mejor sysadmin”, “TU estas haciendo algo mal”, “comprueba tu configuración”, “Asked sys admin to fix it” , pero no dicen porque, ni como arreglarlo, ni dan soluciones, eso es para evitar decir que NO tienen solución,  en Quijost no engañamos a nuestros usuarios de tal modo y explicamos lo hechos de forma honesta.

Las únicas soluciones que se dan son:

1 – Reiniciar la máquina (MALA solución: tratándose de servidores en producción no se puede jugar con el uptime y más si se da espontánea y periódicamente)

2 – Eliminar todas las sesiones con: rm -rf /tmp/sess_* (MEDIA solución: no requiere reinicio, pero hace perder el logueo a todos los usuarios que estén en el servidor para arreglar al resto, aparte habría que ejecutarla cada vez que da este error que puede ser en cualquier momento y sin posibilidad de detectar cuando)

3 – Modificar el directorio donde se guardan las sesiones a uno del usuario para así que no den problemas de permisos:
ini_set('session.save_handler', 'files');
O bien un directorio del usuario (creando un directorio tmp en el directorio del usuario):
ini_set('session.save_path', '/home/usuario/tmp');

Documentacion:
session_save_path() www.php.net/session_save_path

Podría valer pero no es la mejor solución.

La solución más correcta y hasta que los señores de PHP se dignen a arreglar este BUG que posiblemente afecte a millones de sitios web de php sería la siguiente:

1 – Establecer la cookie-sesion en un directorio de tu propio usuario, es decir dentro de tu dominio, por ejemplo:

ini_set('session_save_path', '/home/tuusuario/tmp');

2 – Asignar un nombre a la sesión:

session_name('tuusuario');

3 – Poner este trozo de código para evitar que te de error en el session_start():

if(@session_start() == false){session_destroy();session_start();}

Lo que hacemos es borrar la sesión actual si da error y generar otra, sino da error simplemente la iniciamos (esta más cool utilizando un if ternario).

Por lo tanto, resumiendo, en vez de poner sólo session_start(), para solucionar el bug, tendrías que poner lo siguiente (claro esta, poniendo tu usuario):
ini_set('session_save_path', '/home/tuusuario/tmp');
session_name('tuusuario');
if(@session_start() == false){session_destroy();session_start();}

VN:F [1.9.13_1145]
Rating: 9.7/10 (3 votes cast)
VN:F [1.9.13_1145]
Rating: +1 (from 1 vote)


Como instalar GIT en un servidor CentOS

8 07 2010

Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número archivos de código fuente.

Generalmente es algo que los desarrolladores web deberían usar para proyectos en grupo o creación de código colaborativo. Si en tu hospedaje necesitas tenerlo e instalarlo, es algo sencillo de hacer.

En el momento de publicar este artículo la última versión es 1.7.8.4, puede variar cuando tu realices estos pasos, para ver el último código disponible accede a http://kernel.org/pub/software/scm/git/

Para instalarlo en CentOS, concretamente lo he probado en Centos 5.5, haz lo siguiente:

1 – Primero debes instalar las dependencias con:

1
# yum install gettext-devel expat-devel curl-devel zlib-devel openssl-devel

2 – Baja el último código disponible con wget:

1
# wget http://git-core.googlecode.com/files/git-1.7.8.4.tar.gz

3 – Descomprime el código fuente:

1
# tar xvfz git-*.tar.gz

4 – Muevete a la carpeta descomprimida:

1
# cd git-*

5 – Compila el código fuente

1
# make prefix=/usr/local/ all

6 – Instala GIT

1
2
# make prefix=/usr/local/ install 
7 - Elminar los archivos generados y descargados
1
# cd ..; rm -rf git-*
VN:F [1.9.13_1145]
Rating: 6.3/10 (4 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)


How to use the lastest development version of Tivion

16 06 2010
All your bug are belong to me

All your bug are belong to me

(English version)

Tivion is growing. I have many bugs on Launchpad of Tivion 0.0.4 (Lepiron) and I need more testing. So, if you wanna test or simply use the bleeding edge version of tivion you should try this for Ubuntu versions:

1 – For test, you need bazaar:

1
 sudo apt-get install bzr

2 – And then copy the lastest development files with:

1
 bzr branch lp:tivion

It creates a folder called tivion with all code.

3 – Then run with:

1
 python src/tivion.py

This version maybe unstable on certains moments, and may cause that tivion dont start or some feature don’t working, but it contains all the new code, features and mostly new channels. I try to fix it as soon I can for the critical bugs, but I am human with limited time.

So stay tuned!

PS: I start to write some post in English (mostly of tivion), because now tivion is more international. Usually, I don’t use translators and my english is basic-medium, so some patient with me ;)


(Versión en Español)

Como usar la última versión en desarrollo de tivion

Tivion está creciendo. Tengo muchos bugs en Lauchpad de Tivion 0.0.4 (Lepiron) y necesito más testeo. Asi que, si quieres probar o simplemente usar la última versión en desarrollo de tivion deberías probar esto para versiones de Ubuntu:

1 – Para testear, necesitas instalar bazaar:

1
 sudo apt-get install bzr

2 – Y entonces copiar los últimos archivos de desarrollo:

1
 bzr branch lp:tivion

Ello creara un directorio llamado tivion con todo el código.

3 – Entonces ejecutalo con:

1
 python src/tivion.py

Esta versión puede ser  inestable en ciertos momentos, y puedo causar que tiempo no inicie o alguna característica no funcione, pero contiene todo el nuevo código, características y mayormente nuevos canales. Intento arreglarlos tan pronto como puedo para bugs críticos, pero soy un humano con tiempo limitado.

¡Así que estate pendiente!

PD: Voy a empezar a escribir algunos artículos en Inglés (mayormente de tivion), porque tivion ahora es más internacional. Normalmente no uso traductores y mi inglés es básico-medio, así que algo de paciencia conmigo ;)

VN:F [1.9.13_1145]
Rating: 7.0/10 (1 vote cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)


Páginas: Anterior 1 2 3 4 5 6 7 8 ...22 23 24 Siguiente