Cuando instalas una extensión, uno de los mensajes de error puede ser como este:
JFolder::create: Path not in open_basedir paths
Warning! - Failed to move file.
Bien, pues la solución que yo encontré es muy simple:Warning! - Failed to move file.
1) Localiza y edita el archivo:
libraries/joomla/filesystem/folder.php
2) Busca la siguiente línea:
$obd = ini_get('open_basedir');
(aproximadamente por la número 194)3) Agrega una marca de comentario, para que su aspecto quede así:
// Translate path to FTP path $path = JPath::clean(str_replace(JPATH_ROOT, $ftpOptions['root'], $path), '/'); $ret = $ftp->mkdir($path); $ftp->chmod($path, $mode); } else { // We need to get and explode the open_basedir paths // $obd = ini_get('open_basedir'); && Joomla 1.5: Fix para instalar extensiones. // If open_basedir is set we need to get the open_basedir that the path is in if ($obd != null) { if (JPATH_ISWIN) { $obdSeparator = ";";
Listo, ahora puedes probar de nuevo la instalación de alguna extensión para tu sitio Joomla.
SEGUNDO CASO.
Cuando al instalar una extensión en tu sitio Joomla, el mensaje de error es el siguiente:
JFolder::create: Path not in open_basedir paths
Could not create directory ...
La solución es similar:Could not create directory ...
1) Localiza y edita el archivo:
libraries/joomla/filesystem/folder.php
2) Busca el siguiente bloque de código (aproximadamente entre las líneas 200 - 210):
// Create the array of open_basedir paths $obdArray = explode($obdSeparator, $obd); $inBaseDir = false; // Iterate through open_basedir paths looking for a match foreach ($obdArray as $test) { $test = JPath::clean($test); if (strpos($path, $test) === 0) { $obdpath = $test; $inBaseDir = true; break; } }
3) Entre las líneas
foreach ($obdArray as $test) {
y
$test = JPath::clean($test);
insertar este código:
$test = $_SERVER['DOCUMENT_ROOT']; // Fix: Insertar esta línea.
El bloque de código quedaría así:
// Create the array of open_basedir paths $obdArray = explode($obdSeparator, $obd); $inBaseDir = false; // Iterate through open_basedir paths looking for a match foreach ($obdArray as $test) { $test = $_SERVER['DOCUMENT_ROOT']; // Fix: Insertar esta línea. $test = JPath::clean($test); if (strpos($path, $test) === 0) { $obdpath = $test; $inBaseDir = true; break; } }Listo, ahora puedes probar instalar extensiones para tu sitio Joomla.
Nada, no me funciona... creía que iba a ser la solución pero no me va. Podría haber otra solucion?
ResponderEliminarmuchas gracias, el primer ejemplo de maravillas!!
ResponderEliminarno lo logre!
ResponderEliminarcomo puedo instalar el plug in que me va indicando la ruta en un sitio? saludos
ResponderEliminar