Error con Magento Connect Manager

normando

Nuevo usuario
Error con Magento Connect Manager [SOLUCIONADO]

Hola,

A pesar de tener los archivos magento/var/.htaccess, los directorios magento/app/etc, magento/var, y todos los directorios bajo magento/media configurados con permisos 777 cuando intento acceder a Magento Connect Manager recibo un mensaje de error:

Error: Please check for sufficient write file permissions

He probado incluso a darle permisos 777 a absolutamente todas las carpetas, incluyendo la raiz, del sitio /magento (que es donde lo tengo instalado) con lo que la cosa ha empeorado:

Exception caught:


Warning: php_uname() has been disabled for security reasons in /home/consolad/public_html/magento/downloader/pearlib/php/PEAR/Registry.php on line 772

A alguien le ha ocurrido algo similar?

Saludos
 
Última edición:

OSdave

Super Moderador
Miembro del equipo
Exception caught:


Warning: php_uname() has been disabled for security reasons in /home/consolad/public_html/magento/downloader/pearlib/php/PEAR/Registry.php on line 772
eso huele a restricción de servidor: pregunta donde lo tienes hospedado, creo que tienen que cambiar la configuración del php.ini.
Y sí, el connect necesita que todo este a 777.
 

normando

Nuevo usuario
Lo tengo hospedado en EVALICE pero después de hacer la consulta a su departamento técnico (por llamarlo de alguna manera) me responden lo de siempre:

"Estimado Cliente en el servidor en donde se encuentra su cuenta se puede instalar Magento sin ningún problema, nosotros no damos soporte para la instalación de script de terceros para ello contacte con su desarrollador o comunidad de soporte"


Lo unico que saben hacer es poner la mano para cobrar, me parece patético....

Cuando dices que el connect requiere 777 en todo te refieres a "carpetas" y "archivos" o sólo "carpetas"?

Gracias de todas formas OSdave
 

Antonio

Nuevo usuario
puedes copiar y pegar desde la linea 772 a la 845 del fichero magento\downloader\pearlib\php\PEAR\Regitry.php que tienes y ponerla para que la pueda ver. Un ejemplo.

* @return bool TRUE on success, FALSE if locking failed, or a
* PEAR error if some other error occurs (such as the
* lock file not being writable).
*
* @access private
*/
function _lock($mode = LOCK_EX)
{
if (!eregi('Windows 9', php_uname())) {
if ($mode != LOCK_UN && is_resource($this->lock_fp)) {
// XXX does not check type of lock (LOCK_SH/LOCK_EX)
return true;
}
if (!$this->_assertStateDir()) {
if ($mode == LOCK_EX) {
return $this->raiseError('Registry directory is not writeable by the current user');
} else {
return true;
}
}
$open_mode = 'w';
// XXX People reported problems with LOCK_SH and 'w'
if ($mode === LOCK_SH || $mode === LOCK_UN) {
if (!file_exists($this->lockfile)) {
touch($this->lockfile);
}
$open_mode = 'r';
}

if (!is_resource($this->lock_fp)) {
$this->lock_fp = @fopen($this->lockfile, $open_mode);
}

if (!is_resource($this->lock_fp)) {
$this->lock_fp = null;
return $this->raiseError("could not create lock file" .
(isset($php_errormsg) ? ": " . $php_errormsg : ""));
}
if (!(int)flock($this->lock_fp, $mode)) {
switch ($mode) {
case LOCK_SH: $str = 'shared'; break;
case LOCK_EX: $str = 'exclusive'; break;
case LOCK_UN: $str = 'unlock'; break;
default: $str = 'unknown'; break;
}
//is resource at this point, close it on error.
fclose($this->lock_fp);
$this->lock_fp = null;
return $this->raiseError("could not acquire $str lock ($this->lockfile)",
PEAR_REGISTRY_ERROR_LOCK);
}
}
return true;
}

// }}}
// {{{ _unlock()

function _unlock()
{
$ret = $this->_lock(LOCK_UN);
if (is_resource($this->lock_fp)) {
fclose($this->lock_fp);
}
$this->lock_fp = null;
return $ret;
}

// }}}
// {{{ _packageExists()

function _packageExists($package, $channel = false)
{
return file_exists($this->_packageFileName($package, $channel));
 

normando

Nuevo usuario
He probado a sustituir la porción de código que me has pasado pero el problema persiste..., creo que voy a cambiar de hosting y provaré con el que tu tienes CDmon.

Gracias Antonio!
 

Antonio

Nuevo usuario
Bueno, en Cdmon es cierto que desde que estoy con ellos no he tenido ningún problema con mi página, y el soporte es excepcional (basado en mi propia experiencia).

Te instalan lo que necesitas sin problemas. En cuanto a Magento, mi alojamiento con ellos lo soporta sin problemas. El precio y las prestaciones son buenas.

Siento que no hayas podido solucionar el problema. Estoy con OSdave en cuanto que seguramente será problema del servidor Evidalia y que obviamente ellos no te hacen mucho caso al respecto por lo que cuentas.

Un saludo
 

normando

Nuevo usuario
Gracias Antonio,

Utilizas Magento Connect con CDmon?

Tuviste que cambiar los permisos a 777 en absolutamente todos los archivos y carpetas de magento?

Saludos
 

normando

Nuevo usuario
Es muy curioso, estoy probando en el servidor de CDmon y el problema es exactamente el mismo que tenía con Evalice..., soy incapaz de ejecutar el Magento Connect.

El error que recibo es:

There has been an error processing your request.
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /usr/home/consoladigital.com/web/shop2/downloader/pearlib/php/System.php:459) in /usr/home/consoladigital.com/web/shop2/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php on line 73
Trace:
#0 [internal function]: mageCoreErrorHandler(2, 'session_start()...', '/usr/home/conso...', 73, Array)
#1 etc, etc, etc

He probado casi todo lo que he podido leer por los foros, y a pesar de que es un problema recurrente, no he podido encontrar una respuesta consistente en ninguno de los posts

He probado jugando con los permisos, según indica en la guía, permisos a 777 en todo, files a 644 y directorios a 755, desactivar el antivirus (una respuesta del foro USA...) e incluso acabo de instalar la nueva version 1.1.3 (sin pack español, ni datos de ejemplo, o sea original), así que después de todo el día perdido con este tema ya no se hacia dónde ir...

Todos ejecutáis el Connect sin problemas???

Gracias y saludos
 

Antonio

Nuevo usuario
Hola Normando

Vaya, veo que estas estresado:cabezazos: con el magento connect.

Haber, si el dominio que veo es consoladigital.com, haciendo un whois veo que tienes el dominio con stratos (cosa que me hierve la sangre:enfadado: solo de pensarlo) y que el alojamiento lo tienes con evalice. Yo no veo que estes probando con Cdmon, por lo menos en el error que estas indicando. A lo mejor todavía las DNS están apuntando ha evalice.

Yo haría una cosa, empezaría primero subiendo el fichero que está en el post de ¿Cómo puedo saber si me servidor es compatible con Magento? a la raiz del servidor que has contratado con Cdmon (te quedaría algo así como www.consoladigital.com/magento-check.php). Si te sale alguna cosa mal, llamaría a los de Cdmon para que me lo solucionasen (a mi me solucionaron el Safe mode que estaba en On y me lo cambiaron a Off).

Una vez que tengas todo correcto subiría la última versión estable de magento y la instalaría siguiendo los pasos correspondientes. A este respecto te recomiendo la guía siguiente para tal efecto.

Una vez echa la instalación me iría al admin y entraria en sistemas-->magento connect prevía introducción de la contraseña que te solicita (que es la misma que la del admin) y tendría ya entonces la pantalla del magento connect.

Un consejo bueno es que les digas a los de Cdmon o cualquier otro que te ponga los tiempos de ejecución al maximo disponible.

Ahhh.. se me olvidaba, si dices que has probado en el servidor de Cdmon, estás seguro de que has metido todo dentro de la carpeta /web/? por que en el error que señalas lo tienes metido todo en la carpeta /home/ (lo digo porque en Cdmon la web se mete en la carpeta /web/ en vez de en /home/ o public_html como en otros).

En fin.. ten la cabeza fria, empieza de nuevo con los pasos que te indico realizando la instalación y creo que no tendrás ningún problema (contrata el servidor, chekea el servidor con magento-check para ver si todo es correcto, instala y listo...).

Espero haberte servido de ayuda, y si no pues me cuentas.

Un saludo
 
Última edición por un moderador:

normando

Nuevo usuario
Hola Antonio, tienes bastante razón al decir que estoy estresado con el connect..., esa es una palabra muy suave para definir mi estado de ánimo (o debiera decir desánimo)....

Veo que eres muy observador..., eso está bien.

- El dominio con el que hago las pruebas efectivamente es consoladigital.com

- Está, efectivamente, registrado en Strato (que le vamos a hacer, a mi tampoco me gustan)

- Desde Strato tengo cambiadas las A-Record para que "apunte" hacia CDmon (el cambio lo he hecho hoy así que por eso no lo ves todavía). Te aseguro que estoy probando en CDmon al igual que antes lo hice en Evalice..., si no no lo diría, no crees?

- El fichero del check ya está más que probado, y tanto en Evalice como en CDmon (Plan M) el mensaje de error es siempre el mismo:

Warning: shell_exec() has been disabled for security reasons in /usr/home/consoladigital.com/web/magento-check.php on line 28

Your server does not meet the following requirements in order to install Magento.
The following requirements failed, please contact your hosting provider in order to receive assistance with meeting the system requirements for Magento:

You need MySQL 4.1.20 (or greater)

A lo que la gente de CDmon me contestan que no me preocupe demasiado porque debe de ser a que no se le haya especificado una base de datos en concreto o los datos de su usuario de MySQL (!!!!!), que revise la configuración de la aplicación (!!!!!) y que su servidor funciona perfectamente con MySQL.

A mi lo que realmente me mosquea es el warning que viene delante, el del shell_exec() has been disabled for security reasons ...., y esto sólo ha aparecido cuando han cambiado el safe mode a off...

- El proceso de instalación (con instalador, sin instalador, con ftp, con SSH....) me lo se de memoria y hasta en orden inverso de la cantidad de veces que ya lo he hecho. Siempre con una base de datos nueva y limpia....

- Si, lo tengo todo metido en la carpeta /web/, mira un poco más adelante en la ruta y la verás.

En tu caso concreto Antonio, pasas el check de Magento sin problemas en CDmon?, utilizas el connect sin problemas?, qué hosting tienes contratado (si no es indiscrección)?

Muchas gracias y saludos
 

normando

Nuevo usuario
Lo he conseguido hacer funcionar, con algún error, pero no desde el backend sino desde dominio.com/downloader

Intento averigüar porque pasa y ya os cuento.

Gracias a todos por vuestro interés.

Saludos

P.D. Antonio, puedes contestarme las preguntas que te hice?, tal vez me ayude a entender que está pasando..., gracias
 
Última edición:

Antonio

Nuevo usuario
Hola de nuevo normando.

Ante todo decirte que siempre he intentado ayudar con mis respuestas y que nunca he dudado de tus acciones realizadas.

Te respondo a tus respuestas:

--El hosting que tengo es el de Cdmon.

--Si he probado el check de magento con Cdmon y e un primer momento me dio error en el Safe mode (te lo comenté en el mensaje anterior). Mandé un ticket a soporte de Cdmon y me lo pusieron bien. Después todo correcto.

--Si instalé magento en el servidor de Cdmon y lo probé sin problemas. Instale la versión la versión estable, luego instale el desde el connect la traducción al español, mas tarde desde el connect instale la actualizacion 1.1, después la 1.1.2.. introducí productos, configuré los portes y las formas de pago, hice compras para probar,cree bundles, diferentes tarifas para clientes, diferentes precios de productos por cantidades.... todo funcinó correctamente. Lo desinstale para colocar otra tienda que ya tenía funcionando, y para poder seguir trabajando con él mas comodamente en entorno local (sobre todo esperando poder introducir la pasarela de pago sermepa).

El alojamiento en el que instalé el magento era el "Plan 10".

Por eso te decía (sin acritud) que realizaras los pasos de nuevo.

De todas formas, viendo el error que te da lo que entiendo es que lo del Warning es una advertencia de que el shell_exec () ha sido inhabilitada por razones de seguridad de hay que al realizar el check te lo esté mostrando, indicandote además que te pongas en contacto con el proveedor de alojamiento para su solución y que la versión que tienes de MySQL parece ser que no es la correcta (te indica que tiene que ser 4.1.20 o mayor).

Y por favor, no es ningúna indiscrepción el preguntarme por ciertas cosas, faltaría más. Como te he dicho anteriormente mi intención núnca ha sido de desconfianza hacia tí (a veces suelo ser algo tosco en las palabras sin querer) y como verás sólo intento ayudarte en la medida que pueda.

Cualquier cosa...

Un saludo
 

normando

Nuevo usuario
Muy buenas,

Antonio, no me ha ofendido tu post, ni muchísimo menos !!!, todo lo contrario aprecio y valoro tu ayuda con gratitud. Espero que el mio tampoco te haya ofendido a ti...

Al final el tema está resuelto y de la siguiente manera:

- El error que me estaba dando era, en su origen, porque el downloader no encontraba la ruta del directorio /tmp cuando intentaba acceder para guardar información....

- Me marcaba correctamente el archivo y la línea exacta en donde se producía el error; en concreto en /downloader/pearlib/php/system.php línea 459

- He de decir que la ayuda de los técnicos de CDmon ha sido imprescindible (sin ella sigo encallado seguro), y me han aconsejado cambiar la ruta que aparece por defecto en la línea 459 del system.php de /tmp a la siguiente: /home/consoladigital.com/tmp

- Y voilá, empezar a funcionar el connect perfectamente, ya sea desde el backend o desde el acceso directo dominio.com/downloader

- Previamente a hacer el cambio, todas las carpetas a 777

Sólo agradecer a todos los que han aportado, seguro, con la intención de ayudar y espero que si alguien sufre el mismo problema, tenga un punto por el que avanzar más deprisa que yo...

Espero que a partir de ahora Magento sólo me de satisfacciones!!!!!!

Saludos
 

Antonio

Nuevo usuario
Me alegro que lo hayas solucionado.

Por lo menos el alojamiento que recomendé te ha dado buenos resultados. Su soporte trabaja muy bien de cara al cliente, siempre atento ante cualquier ayuda.

Un saludo
 

ramonet

Nuevo usuario
Normando, me encuentro en la misma situación que tu con Magento en CDMon.
Cuando dices esto en tu post:
"- Previamente a hacer el cambio, todas las carpetas a 777"

Disculpa mi torpeza, pero no me queda claro sobre qué hay que hacer primero: cambiar la ruta /tmp o cambiar los permisos de las carpetas.

Segundo: cuando dices "todas las carpetas a 777" ¿te refieres a todas las carpetas de Magento, o sólo las que se especifican en el manual de instalación?.
Muchas gracias.
 

zagio

Nuevo usuario
Estoy atascado con el magento connect.

Me da ERROR DE PERMISOS pero no consigo hacer que funcione a pesar de darselos.

Realmente es desesperante. ¿Alguien que haya solucionado el tema? gracias.
 

osmodiars

Nuevo usuario
Estoy atascado con el magento connect.

Me da ERROR DE PERMISOS pero no consigo hacer que funcione a pesar de darselos.

Realmente es desesperante. ¿Alguien que haya solucionado el tema? gracias.
A mi al principio tambien me paso lo mismo, el error era muy tonto

Acordate que no solo le tenes qeu dar permiso a la carpeta, si no tambien a las sub carpetas y a los archivos que hay dentro de cada una.

Espero que te sirva, saludos-
 
Arriba