PDA

Zobacz pełną wersję : Zmiana wersji PHP



boskiigor
04-05-2017, 18:33
Witam próbuję zmienić wersję php w swojej joomla z 55 na 56 ale poz mianie wersji php na serwerze mam taki komunikat
<?php
/**
* @package Joomla.Administrator
*
* @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

/**
* Define the application's minimum supported PHP version as a constant so it can be referenced within the application.
*/
define('JOOMLA_MINIMUM_PHP', '5.3.10');

if (version_compare(PHP_VERSION, JOOMLA_MINIMUM_PHP, '<'))
{
die('Your host needs to use PHP ' . JOOMLA_MINIMUM_PHP . ' or higher to run this version of Joomla!');
}

// Saves the start time and memory usage.
$startTime = microtime(1);
$startMem = memory_get_usage();

/**
* Constant that is checked in included files to prevent direct access.
* define() is used in the installation folder rather than "const" to not error for PHP 5.2 and lower
*/
define('_JEXEC', 1);

if (file_exists(__DIR__ . '/defines.php'))
{
include_once __DIR__ . '/defines.php';
}

if (!defined('_JDEFINES'))
{
define('JPATH_BASE', __DIR__);
require_once JPATH_BASE . '/includes/defines.php';
}

require_once JPATH_BASE . '/includes/framework.php';
require_once JPATH_BASE . '/includes/helper.php';
require_once JPATH_BASE . '/includes/toolbar.php';

// Set profiler start time and memory usage and mark afterLoad in the profiler.
JDEBUG ? JProfiler::getInstance('Application')->setStart($startTime, $startMem)->mark('afterLoad') : null;

// Instantiate the application.
$app = JFactory::getApplication('administrator');

// Execute the application.
$app->execute();
Jak rowiazac ten problem

adam.lachut
04-05-2017, 21:01
To raczej problem z konfiguracją serwera, a nie z Joomla. Wygląda na to że po zmianie wersji, pliki .php nie sa w ogóle parsowane (interpretowane).

grzesiek_w
04-05-2017, 22:04
Poczytaj dokumentację tego hostingu na którym to robisz. Lub po prostu zadzwoń do pomocy technicznej. Każda firma ma jakieś swoje specyficzne preferencje jak zmienić wersję PHP. Czasem robi się to z poziomu panelu zarządzania serwerem a czasem umieszczając odpowiedni skrypt gdzieś na serwerze.

boskiigor
05-05-2017, 10:55
to firma webserwer.pl oni udostepniają plik htacces i w nim jest przypisana wersja php a to skrypt AddHandler php54-fastcgi .php i z tego co oni deklarują to wystarczy zmienić 54 np. na 56 i powinno działąć zmieniam i nie działa

boskiigor
05-05-2017, 16:31
po zmianie wersji z 54 na wersje 55 strona działa ale najnowsza aktualizacja joomla wymaga co najmiej wersji 56 a mój usługodawca nie ma wersji 56 tylko 55 i 7. Jak dam na wersje 7 to teraz mam taki komunikat

Error displaying the error page: Application Instantiation Error: Could not connect to MySQL.
Warning: session_write_close(): Failed to write session data (user). Please verify that the current setting of session.save_path is correct () in /libraries/joomla/session/handler/native.php on line 194
czy joomla działą na wersji php 7?

romeoo
05-05-2017, 16:40
Podaj link do strony bo tak to tylko z fusów można wróżyć

- - - Updated - - -

Joomla działa na wersji php 7

adam.lachut
05-05-2017, 18:23
1. Joomla działa z PHP od wersji 5.3, zalecana jest 5.6 lub 7 (nie dotyczy to jednak wszystkich komponentów, np. komponenty Akeeba mają różne wymagania w zależności od wersji komponentu, wersji J! i wersji php).
Spróbuj najpierw zaktualizować J! przy ustawionym php 5.6 a później zajmiesz się ew. problemami z php 7.

2. Błąd:

Error displaying the error page: Application Instantiation Error: Could not connect to MySQL.
może być spowodowany tym, że w konfiguracji masz ustawiony 'typ bazy danych' na mysql, a to rozszerzenie nie jest obsługiwane w php7
sprawdź w configuraion.php ustawienie: public $dbtype, ma być:

public $dbtype = 'mysqli';
Jeśli zmieniasz z poziomu pliku to sprawdź czy zmiany się zapisały :)

3. Jeśli w dalszym ciągu będzisz miał błąd związany z Warning: session_write_close() to wyślij ticketa do supportu Twojego hostingu o ustawienie dyrektywy session.save_path dla php 7 - w Twoim przypadku wygląda na to że jest pusta.

Ale proponuję po kolei :)

A.

wojsmol
05-05-2017, 18:37
boskiigor Sprawdź co masz ustawione jako $session_handler w configuration.php

boskiigor
05-05-2017, 20:46
public $session_handler = 'database'; taki wpis mam

- - - Updated - - -

a tu wpis o który pytał kolega wyzej public $dbtype = 'mysqli'; taki mam

adam.lachut
05-05-2017, 20:53
W takim razie wygląda na to że nie możesz się połączyć z bazą - sprawdź parametry połączenia.

boskiigor
05-05-2017, 21:05
link do strony https://pogrzeszymy.pl

boskiigor
07-05-2017, 12:40
Już sobie poradziłem jednak to była wina usługodawcy serwera