Diskuze: Možná chyba s verzí PHP?

PHP PHP Možná chyba s verzí PHP? American English version English version

Avatar
Jiří Jeřábek (thechorcheecz):

Zdravím, mám vytvořený NERS, který obsahuje Db.php(podle návodu tady na itnetwork), zkoušel jsem si to uploadnout na Endoru, na Endoře to vše fungovalo. Poté jsem to zkusil na jiným hostingu, který není free a najednou to přestalo fungovat. Vypisuje to tohle

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in Db.php on line 26

píše to, že chyba je v Db.php, ale četl jsem tu,že chyba tam určitě není. Googlil jsem dále a našel jestli to nemůže být nějaká chyba s jinou verzí php. Databázi v mySQL bych měl mít dobře vytvořenou, mám to úplně stejně jako na endoře. Opravdu si nevím rady.
Není tu někdo kdo by věděl, čím by to mohlo být, cestu k souboru bych měl mít také správně. Díky

 
Odpovědět 26.11.2014 23:09
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Jiří Jeřábek (thechorcheecz):
class Db
{
        /**
         * @var PDO Databázové spojení
         */
24      private static $connection;

pak tam už začíná "private static $options = array"

 
Nahoru Odpovědět 26.11.2014 23:32
Avatar
BlugW
Redaktor
Avatar
Odpovídá na Jiří Jeřábek (thechorcheecz)
BlugW:

Tenhle wrapper používám a funguje mi všude jak na českém hostingu tak na britanském.
Takže zkus napsat na podporu určitě jím s podobným problémem už lidi psali :)

PS: Pokud jsi teda ten wrapper neupravoval a neudělal někde chybu.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 26.11.2014 23:49
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Odpovídá na BlugW
Jiří Jeřábek (thechorcheecz):

Wrapper jsem nijak neupravoval, ten stejnej wrapper mi funguje na endoře a úplně u stejných PHP souborů, ale nevím co jim mám napsat :(

 
Nahoru Odpovědět 26.11.2014 23:54
Avatar
Michal Žůrek (misaz):

Teď z mobilu to nevím přesně, ale zkus z řádku kde je deklarace connections (24) vyhodit slovo static. A pokud to bude fungovat, tak máš pravdu, je to dáno starší verzi PHP.

Nahoru Odpovědět 27.11.2014 6:37
Nesnáším {}, proto se jim vyhýbám.
Avatar
Ori
Člen
Avatar
Odpovídá na Jiří Jeřábek (thechorcheecz)
Ori:

poprípade skús v nastaveniach hostingu pozrieť, či sa niekde nedá zmeniť verzia PHP

 
Nahoru Odpovědět  +1 27.11.2014 8:33
Avatar
S0n1
Člen
Avatar
S0n1:

Zmeň PHP na 5.3 or 5.4

Zmeníš to tak že do prípony v nastaveniach dáš z kolonky

PHP 4 = .php
PHP 5.3 = .php5

Zmeň na
PHP 4 = .php4
PHP 5.3 = .php

 
Nahoru Odpovědět  -4 27.11.2014 11:36
Avatar
Marek Z.
Redaktor
Avatar
Odpovídá na S0n1
Marek Z.:

Snad si nemyslíš, že tímto změníš verzi php na serveru, ze starší verze na novější.

Nahoru Odpovědět  +2 27.11.2014 20:24
Chybami se člověk učí, běžte se učit jinam!
Avatar
Odpovídá na S0n1
Michal Žůrek (misaz):

kde si na takovou hovadinu přišel?

Nahoru Odpovědět 27.11.2014 20:26
Nesnáším {}, proto se jim vyhýbám.
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na S0n1
Adam Ježek:

Jestli žiješ ve světě, kde upgrade na novější verzi lze provést změnou přípony, tak se tam stěhuju :D

Nahoru Odpovědět 27.11.2014 20:34
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
S0n1
Člen
Avatar
S0n1:

Asi som sa zle vyjadril.

Poskytovateľ websupport.sk to má úplne jednoducho spravené.

Pôjdete do nastavení WEBU a využívanie PHP 5.3 zapnete tak, že
zmeníte v možnostiach kolonku VERZIA PHP 5.3 = .php53 na .php, zároveň defaultne nastavené
VERZIA PHP 4 = .php zmeníte na napr. php4 aby vedel system rozoznať pri ktorých príponach zapne PHP 5, následne dáte uložiť nastavenia. A na vašom hostingu krásne beží PHP5 ako prioritná verzia pre každy .php súbor

Editováno 27.11.2014 23:13
 
Nahoru Odpovědět 27.11.2014 23:12
Avatar
Marek Z.
Redaktor
Avatar
Odpovídá na S0n1
Marek Z.:

Dle mého toto řešení je k ničemu. Prostě vždy použít novější verzi, zejména v těchto jazycích..

Nahoru Odpovědět 28.11.2014 19:26
Chybami se člověk učí, běžte se učit jinam!
Avatar
Jiří Jeřábek (thechorcheecz):

Zdravím, verzi PHP můžu změnit tak, že jim napíši email a oni mi to změní, akorát nevím jakou bych potřeboval verzi.
A ještě maličkost, moc mi to nedává smysl, ale proč by na serveru nebyla nejnovější verze php?, a proč by si ji někdo měnil na starší verzi?, protože mi řekli že je možné to změnit na PHP4, PHP5.2, PHP5.3, jakou bych měl tedy použít prosím? A ještě nebudu potřebovat novější verzi i mySQL? Díky moc

 
Nahoru Odpovědět 29.11.2014 1:11
Avatar
Marek Z.
Redaktor
Avatar
Odpovídá na Jiří Jeřábek (thechorcheecz)
Marek Z.:

Ty aktuální nebo nejnovější jaké ti mohou poskytnout.

Nahoru Odpovědět 29.11.2014 9:42
Chybami se člověk učí, běžte se učit jinam!
Avatar
Jiří Jeřábek (thechorcheecz):

Zdravím, tak chyba byla na straně serveru, děkuji všem za pomoc, teď ale řeším další problém, který jsem taky googlil a zkoušel, ale pořád nefunguje.

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

Vím, že chyba bude v session_start(), který mám vždy na začátku PHP kódu, také jsem zjistil, že by to mohlo být BOM. Tak jsem podle návodů v PSPadu, udělal ident. byty v kódování utf-8, dokonce i na v hlavičce (<head>) <meta charset="utf-8" />, ale chyba stále přetrvává, žádnou mezeru tam nemám, kód vypadá takto:

<?php
session_start();
require('Db.php');
Db::connect('localhost','databaze','login','heslo');
if (isset($_SESSION['uzivatel_id']))
{
        header('Location: administrace.php');
        exit();
}

tohlé je kód pro přihlášení, všem díky za pomoc, jen podotýkám, že předtím jsem to dělal v NetBeans a pro to odstranění BOM, jsem to začal dělat v PSPadu

 
Nahoru Odpovědět 4.12.2014 22:04
Avatar
Marek Z.
Redaktor
Avatar
Odpovídá na Jiří Jeřábek (thechorcheecz)
Marek Z.:

Né jenom na začátku PHP kódu, ale celého zdroje. Tedy úplně 1. v celém souboru s danou aplikací.

Nemáš někde nad ním kus html či to může být i tím, že je voláno 2x.
Třeba ho voláš ještě v souboru, který tam přivoláš.

Nahoru Odpovědět 5.12.2014 9:38
Chybami se člověk učí, běžte se učit jinam!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.