Błąd strpos() przy próby instalacji w Joomla 1.6RC2

aliexpress

Dzisiaj postanowiłem zainstalować i sprawdzić najnowsze wydanie Joomla oznaczone cyferkami 1.6 RC2. Kuszony nowościami ściągnąłem pakiet, rozpakowałem go na serwerze i rozpocząłem instalacje. Niestety po uruchomieniu instalatora wyskoczył błąd Warning: strpos () [function.strpos]: Empty delimiter in / libraries / joomla / plików / path.php on line 148. Trochę się nagimnastykowałem nim odkryłem, a właściwie odszukałem przyczynę i rozwiązanie na polskim forum Joomla. Powodem takiej sytuacji jest błędna interpretacja ścieżek przez Joomlę – problem występuje tylko na niektórych serwerach (m.in. w home.pl). Opisany tutaj sposób działa, lecz bezpośrednia przyczyna tkwi znacznie głębiej i jest to rozwiązanie raczej doraźne (mogą się pojawić problemy w przyszłości – np. podczas próby instalacji wtyczek).

1. W plikach /administrator/includes/defines.php oraz /includes/defines.php zmieniamy wpisy:

define('JPATH_ROOT', implode(DS, $parts));

na

define('JPATH_ROOT', (implode(DS, $parts)) ? implode(DS, $parts) : DS);

2. W pliku /administrator/modules/mod_login/tmpl/default.php zmieniamy

<form action="<?php echo JRoute::_('index.php', true, $params->
get('usesecure')); ?>" method="post" id="form-login">

na

<form action="<?php echo JRoute::_(JPATH_BASE.DS.'index.php',
true, $params->get('usesecure')); ?>" method="post" id="form-login">

3. Instalujemy Joomla i logujemy się do panelu administratora. Wchodzimy w menu Site / Global Configuration, w zakładce Site odszukujemy pola z opcjami SEO (po prawej stronie) i Search Engine Friendly URLs ustawiamy na No