IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
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
Odpovídá na Jiří Jeřábek (thechorcheecz)
Neaktivní uživatel: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í
+2,50 Kč
Řešení problému
Nahoru Odpovědět
26.11.2014 23:49
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
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
Avatar
Ori I
Člen
Avatar
Odpovídá na Jiří Jeřábek (thechorcheecz)
Ori I:27.11.2014 8:33

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

 
Nahoru Odpovědět
27.11.2014 8:33
Avatar
Soni
Člen
Avatar
Soni: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
27.11.2014 11:36
Avatar
Odpovídá na Soni
Uživatel sítě :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
27.11.2014 20:24
Chybami se člověk učí, běžte se učit jinam!
Avatar
Odpovídá na Soni
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
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Soni
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
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Soni
Člen
Avatar
Soni: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
Odpovídá na Soni
Uživatel sítě :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
Odpovídá na Jiří Jeřábek (thechorcheecz)
Uživatel sítě :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
Odpovídá na Jiří Jeřábek (thechorcheecz)
Uživatel sítě :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.