Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

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

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

Aktivity (1)
Avatar
Jiří Jeřábek (thechorcheecz):26.11.2014 23:09

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
Nahoru Odpovědět 26.11.2014 23:23
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Jiří Jeřábek (thechorcheecz):26.11.2014 23:32
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
Bogdan
Redaktor
Avatar
Odpovídá na Jiří Jeřábek (thechorcheecz)
Bogdan:26.11.2014 23:49

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
Avatar
Odpovídá na Bogdan
Jiří Jeřábek (thechorcheecz):26.11.2014 23:54

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):27.11.2014 6:37

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:27.11.2014 8:33

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:27.11.2014 11:36

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.:27.11.2014 20:24

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):27.11.2014 20:26

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:27.11.2014 20:34

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:27.11.2014 23:12

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.:28.11.2014 19:26

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):29.11.2014 1:11

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.:29.11.2014 9:42

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):4.12.2014 22:04

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.:5.12.2014 9:38

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.