Problemas comunes durante la actualización Tema Solucionado
Los usuarios no están se eliminan del grupo Nuevos Usuarios Registrados después de actualizar/instalar 3.1.7-PL1
Hay un error en 3.1.7-PL1 que impide a los usuarios ser eliminados automáticamente del grupo Nuevos Usuarios Registrados.Solución:
Un comunicado de nivel de parche no se hará (sinceramente no se el porque), así que esto no sera corregido oficialmente hasta 3.1.8. Mientras tanto, se puede aplicar el parche que ya ha sido aceptado en el repositorio oficial:
https://github.com/phpbb/phpbb/pull/4119/files
Abrir el archivo tu_foro_phpBB/phpbb/session.php
BUSCAR: (linea 1558)
Código: Seleccionar todo
public function update_session_infos()
{
global $db, $request;
Código: Seleccionar todo
global $db, $request;
Código: Seleccionar todo
global $config, $db, $request;
Problema: Versión no compatible de PHP
Si su versión de PHP no es igual o mayor que PHP 5.3.3, no podrá ejecutar phpBB 3.1.0Si está ejecutando una versión no compatible, verá un error similar a este:
Código: Seleccionar todo
Unexpected character in input: '\' (ASCII=92) state=1
Solución:
Actualice la versión de PHP a 5.3.3 o superior. Es posible que tenga que pedir a su hosting que haga esto, o simplemente cambiar una configuración en el panel de control de su sitio web.Corregido en 3.1.1
Problema: El foro se convirtió mientras un estilo personalizado (no prosilver) estaba activo
Si su foro estaba usando un estilo que no sea prosilver, los usuarios se encontrarán con un error (o varios). Los estilos 3.0 no son compatibles con 3.1 y dependiendo de su método de actualización, no pueden existir en absoluto después de la actualización. Los posibles errores que puede encontrar son:Código: Seleccionar todo
General Error
SQL ERROR [ mysqli ]
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE user_id = 1' at line 3 [1064]
Código: Seleccionar todo
SQL ERROR [ mysql4 ]
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 [1064]
Solución:
El siguiente script restablecerá el estilo por defecto del foro a prosilver y lo restablecerá como estilo para todos los usuarios.Cree un archivo de texto (usando NotePad++) llamado fix.php con el siguiente contenido:
Código: Seleccionar todo
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Default style ID
$sql = 'SELECT config_value FROM ' . CONFIG_TABLE . " WHERE config_name = 'default_style'";
$result = $db->sql_query($sql);
$default_style_id = (int) $db->sql_fetchfield('config_value');
$db->sql_freeresult($result);
// Default style name
$sql = 'SELECT style_name FROM ' . STYLES_TABLE . ' WHERE style_id = ' . $default_style_id;
$result = $db->sql_query($sql);
$default_style_name = $db->sql_fetchfield('style_name');
$db->sql_freeresult($result);
// Active styles
$sql = 'SELECT style_id, style_name, style_active FROM ' . STYLES_TABLE;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$styles_list[] = $row;
}
$db->sql_freeresult($result);
echo 'Estilo por defecto: ' . $default_style_name . ' (' . $default_style_id . ')<br />';
$exists = file_exists('./styles/' . $default_style_name . '/style.cfg');
if ($exists)
{
echo 'Existe el estilo por defecto, no hay trabajo por hacer.';
exit;
}
if (!file_exists('./styles/prosilver/style.cfg'))
{
echo 'Prosilver no existe. Por favor, sube una copia de prosilver desde el <a href="https://www.phpbb.com/downloads/">Paquete completo 3.1.2</a>.';
exit;
}
$prosilver = array();
foreach ($styles_list as $style)
{
if ($style['style_name'] == 'prosilver')
{
$prosilver = $style;
break;
}
}
// Install style if it doesn't exist
if (!sizeof($prosilver))
{
$sql_ary = array(
'style_name' => 'prosilver',
'style_copyright' => '© phpBB Group',
'style_active' => 1,
'style_path' => 'prosilver',
'bbcode_bitfield' => 'lNg=',
'style_parent_id' => '0',
'style_parent_tree' => '',
);
$sql = 'INSERT INTO ' . STYLES_TABLE . '
' . $db->sql_build_array('INSERT', $sql_ary);
$db->sql_query($sql);
$id = $db->sql_nextid();
$prosilver = array(
'style_name' => 'prosilver',
'style_id' => $id,
'style_active' => 1,
);
echo 'Prosilver instalado (' . $id . ').<br />';
}
else
{
// Activate prosilver
$sql = 'UPDATE ' . STYLES_TABLE . " SET style_active = 1 WHERE style_name = 'prosilver'";
$db->sql_query($sql);
}
// Set it as the default style
$sql = 'UPDATE ' . CONFIG_TABLE . ' SET config_value = ' . $prosilver['style_id'] . " WHERE config_name = 'default_style'";
$db->sql_query($sql);
$cache->purge();
echo 'Establecer prosilver como el estilo por defecto.<br />';
// Set all users' styles to prosilver
$sql = 'UPDATE ' . USERS_TABLE . ' SET user_style = ' . $prosilver['style_id'];
$db->sql_query($sql);
echo 'Estilos de usuario actualizado a Prosilver.<br />';
echo 'Hecho.';
?>
Problema: Conflicto durante la actualización a 3.1.5
Si actualizó su foro de 3.1.3 a 3.1.4 usando el paquete de actualización automática, y ahora intenta actualizar su foro de 3.1.4 a 3.1.5 usando el paquete de actualización automática una vez más, podrá ver un conflicto en el calculo de diferencia del archivo includes/acp/acp_prune.phpEl conlicto occure debido a que los paquetes de actualización automática para 3.1.x a 3.1.4 faltaba un cambio en el archivo includes/acp/acp_prune.php
Los cambios solo consistían en espacios en blanco. Así que con el fin de obtener la revisión de su foro nos vimos obligados a crear un conflicto moviendo algunas líneas de alrededor, para asegurarse de que el programa de actualización se diera cuenta de que el archivo aún no está actualizado.
La forma correcta de resolver el conflicto es utilizar una de estas opciones:
- Opción 3: No fusionar - Utilizar el nuevo archivo - ALTAMENTE RECOMENDADO o
- Opción 1: Fusionar modificaciones (elimina código modificado dentro del bloque conflictivo)
Esta opción sólo debe utilizarse cuando se tiene modificaciones instaladas en includes/acp/acp_prune.php (algo que no debería ser así en phpBB 3.1.x)
Abrir el archivo includes/acp/acp_prune.php
BUSCAR: (Línea ~510)
Código: Seleccionar todo
((!empty($user_ids)) ? 'AND ' . $db->sql_in_set('ug.user_id', $user_ids) : '') . '
Código: Seleccionar todo
((!empty($user_ids)) ? ' AND ' . $db->sql_in_set('ug.user_id', $user_ids) : '') . '
Código: Seleccionar todo
((!empty($user_ids)) ? 'AND ' . $db->sql_in_set('p.poster_id', $user_ids) : '') . '
Código: Seleccionar todo
((!empty($user_ids)) ? ' AND ' . $db->sql_in_set('p.poster_id', $user_ids) : '') . '
Problema: El salto de página no funciona desde la actualización a 3.1.5
Si actualizó su foro de 3.1.4 a 3.1.5 usando el paquete de actualización automática, ahora verá que el salto de página no funciona correctamente, mire la captura de abajo.[/b] Con este cambio de código puede corregirlo temporalmente, o esperar una nueva versión qu corrija esto.Abrir el archivo /prosilver/template/forum.fn.js
BUSCAR:
Código: Seleccionar todo
if (page !== null && !isNaN(page) && page === Math.floor(page) && page > 0) {
Código: Seleccionar todo
if (page !== null && !isNaN(page) && page == Math.floor(page) && page > 0) {