PDA

Zobacz pełną wersję : Po backupu - Warning: strpos() [function.strpos]: Empty needle in



jopomoc
14-03-2014, 16:50
Witam, przeniosłem gotową stronę z serweru hostinghouse.pl na serwer home.pl za pomoca akeeby i niestety jeden moduł mi nie chodzi.

Na hostinghouse.pl miałem php 5.4 a na home.pl 5.3 ale podczas instalacji było napisane że wszystkie warunki spełnione ( oprócz włączonego pokazywania błedów)

Moduł RokCommon, nie działa poprawnie na zapleczu po wejściu w ten moduł wyświetla następujący błąd.

Warning: strpos() [function.strpos (http://kantor-moskwa.pl/administrator/function.strpos)]: Empty needle in /libraries/rokcommon/RokCommon/PlatformInfo/AbstractPlatformInfo.php on line 41

Zamiast slajdów i krotkiego opisu obok to wszystkie slajdy rozlaly sie na stronie.


Nie wiem jak rozwiązać ten problem.

mac
14-03-2014, 18:34
Sprobowac mozesz ustawienia php5.4 w php.ini na home.pl, zdaje se ze skrypty Rok rozpoznaja php, jak to nie pomoze bedziesz musial przeinstalowac wszystko od Rok czyli deinstalacja i instalacja

Pisze z komórki, powoolii...

jopomoc
14-03-2014, 22:51
Okazuje się że pracowałem na php 5.3 również więc wersja php nie powinna być tutaj przyczyną.
A jesli odinstaluje ten modul to cala strona sie sypie... zaplecze rowniez nie dziala

mac
14-03-2014, 23:01
Niesmiertelne, czy konfigurowales hosting home.pl

jopomoc
14-03-2014, 23:11
Zmieniłem jedynie na zapleczu php z 5.2 na 5.3

jopomoc
14-03-2014, 23:49
Jeszcze wywietla mi taki komunikat:

Chociaż twoja witryna została pomyślnie odtworzona, różnice w konfiguracji serwerów ( tego sam albo różnego usługodawcy) mogą spowodować problemy w dzialaniu witryny. Ponieważ nie możemy zapewnić obsługi takich problemow, zebraliśmy najbardziej popularne przyczyny problemów i ich rozwiazania w naszej dokumentacji problemów. Dla twojej wygody, podajemy Ci link do tego dokumentu:
https://www.akeebabackup.com/documentation/troubleshooter/prbasicts.html

rado85
24-06-2015, 07:21
U mnie pomogło zmiana konfiguracji domeny na bez separacji serwisu

rafipl
31-01-2017, 22:19
Odkopuję temat z identycznym problemem i modułem RokSprocket po przeniesieniu na home lipa :( w ustawieniach domeny ustawione BEZ PRZEKIEROWANIA, php takie samo jak przed przeniesieniem (5.5).
czy może mieć to związek z metodą porównywania znaków w bazie? Przed przenosinami było utf8, a teraz jest latin (bynajmniej wg informacji na zapleczu).
Jak rozwiązać problem? :(

Jola
31-01-2017, 22:55
Chodzi o to, że bakuje drugiego parametru w użytej funkcji strpos() w podanym pliku (wyszukuje pozycję wystąpienia wyrażenia (tego brakującego) w określonym ciągu znaków (stringu)

rafipl
31-01-2017, 23:08
Drugi parametr to jest:

$this->cleanPath($this->getRootPath())
Dlaczego jest pusty?

Jola
01-02-2017, 00:22
Pewnie dlatego, że to home.pl, a tam ta zmienna jest pusta.
Nie znam tego rozszerzenia, jeśli możesz wrzuć plik, może coś zaradzę.

rafipl
01-02-2017, 00:36
Jest to moduł RokSprocked od RocketTheme

public function getUrlForPath($path)
{
$path = $this->cleanPath($path);
// if its external just return the external url
if ($this->isLinkExternal($path)) return $path;

$parsed_path = parse_url($this->cleanPath($path));
$return_url_path = $parsed_path['path'];
if (preg_match('/^WIN/', PHP_OS)) {
$return_url_path = $path;
}
if (!@file_exists($return_url_path)) {
return $return_url_path;
}
$instance_url_path = $this->getUrlBase();
$instance_filesystem_path = $this->cleanPath($this->getRootPath());
$server_filesystem_root_path = $this->cleanPath($_SERVER['DOCUMENT_ROOT']);


// check if the path seems to be in the instances or server path
// leave it as is if not one of the two
if (strpos($return_url_path, $instance_filesystem_path) === 0) {
// its an instance path
$return_url_path = $instance_url_path . str_replace($instance_filesystem_path, '', $return_url_path);
} elseif (strpos($return_url_path, $server_filesystem_root_path) === 0) {
// its a server path
$return_url_path = str_replace($server_filesystem_root_path, '', $return_url_path);
}

// append any passed query string
if (isset($parsed_path['query'])) {
$return_url_path = $return_url_path . '?' . $parsed_path['query'];
}

return $return_url_path;
}

Jola
01-02-2017, 01:38
Spróbuj zamienić ten kod;

if (strpos($return_url_path, $instance_filesystem_path) === 0) {
// its an instance path
$return_url_path = $instance_url_path . str_replace($instance_filesystem_path, '', $return_url_path);
} elseif (strpos($return_url_path, $server_filesystem_root_path) === 0) {
// its a server path
$return_url_path = str_replace($server_filesystem_root_path, '', $return_url_path);
}na:

if ($instance_filesystem_path && strpos($return_url_path, $instance_filesystem_path) === 0) {
// its an instance path
$return_url_path = $instance_url_path . str_replace($instance_filesystem_path, '', $return_url_path);
} elseif ($server_filesystem_root_path && strpos($return_url_path, $server_filesystem_root_path) === 0) {
// its a server path
$return_url_path = str_replace($server_filesystem_root_path, '', $return_url_path);
}

rafipl
01-02-2017, 09:07
Livesite: linkplast.pl

Niestety bez zmian... W konsoli mnóstwo błędów 404 - strona odwołuje się do większości zasobów pomijając slashe:


http://linkplast.pl/templatesjp-adventuresroksprocketlayoutsstripsthemesseparateds eparated.css Failed to load resource: the server responded with a status of 404 ()

Jola
01-02-2017, 11:18
Wiesz co, nie ma co cudować z kodem.
Takie problemy na home się zdarzały zawsze z jednej przyczyny - instalacja Joomla w głównym katalogu serwera.
Przenieś Joomla do podkatalogu i wycofaj zmiany w tym pliku.