Autor Zpráva
Nailen
Profil
Zdravím,

přesouval jsem jeden web na nový hosting. Zároveň jsem měnil i doménu. Po přesunu jsem všude v kódu vyměnil novou adresu. Web se mi nechce spustit. Mám toto chybové hlášení:

Warning: file_get_contents(http://glosdir.eu/includes/common/error_handler.html): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /home/www/uctenka.eu/domains/glosdir.eu/www/includes/config.inc.php on line 227

Na řádku 227 je tento kód:
$content = file_get_contents(ESYN_INCLUDES.'common'.ESYN_DS.'error_handler.html');

Poradil by mi někdo v čem by mohl být problém?

Předem děkuji
RastyAmateur
Profil
Nailen:
Požadovaná stránka ti prostě vrací 403. Důvodů může být více, např. potřebná autorizace, nějaká blokace IP adresy, ...

Pokud je to na stejném serveru, jako daný script, zkusil bych použít normálně relativní cestu, ne hned HTTP protokol. Nový hosting to třeba může nějak blokovat, nebo tak něco.

Dle chybové hlášky bych hádal něco takového
file_get_contents("./common/error_handler.html");
# Případně já jsem zvyklý ty cesty psát trochu jinak:
file_get_contents(__DIR__ . "/common/error_handler.html");
Nailen
Profil
RastyAmateur:

Tak jsem zkusil přepsat cestu podle vašehoho vzoru a nepomohlo to. Hláška se změnila na:

Warning: file_get_contents(./common/error_handler.html): failed to open stream: No such file or directory in /home/www/uctenka.eu/domains/glosdir.eu/www/includes/config.inc.php on line 227

Takže už tam není 403 Forbidden, ale No such file or directory.

Vzal jsem přímo soubor erro_handler.html a nahrál ho do rootu webu. Takže je teď přímo zde: glosdir.eu/error_handler.html

Divné je, že to háže stejnou hlášku. Očekával bych, že se zobrazí jen obsah tohoto souboru.

Obsah je následující:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>{title}</title>
    <style type="text/css">
        html, body
        {
            margin:0;
            padding:0;
            background:#eef8f9;
            height:100%;
            font:normal 12px 'Trebuchet MS',Arial,Verdana,sans-serif;
            color:#4e4e4e;
        }
        a
        {
            color:#1f599f;
        }
        a:hover
        {
            text-decoration:none;
        }
        img
        {
            border:0;
        }
        p
        {
            margin:0;
            padding:5px 0;
        }
        div.error
        {
            background:#e2e2e2;
            padding:1px;
            margin:67px auto 0 auto;
            width:618px;
        }
        div.error .inner
        {
            width:443px;
            background:#f8f8f8 url('{base_url}includes/common/img/error.gif') 25px 25px no-repeat;
            padding:25px 75px 25px 100px;
        }
        div.msg_error
        {
            background:#ff9174;
            padding: 5px;
            font-weight: bold;
            color:#861c00;
        }
        h1
        {
            color:#4e4e4e;
            font-size:17px;
            margin:0;
            padding:20px 0;
        }
        div.logo
        {
            padding:10px 0 0 0;
        }
        input[type="submit"].common, input[type="button"].common
        {
            border:0;
            margin:0;
            padding:0;
            background:#6c9ec1 url('{base_url}includes/common/img/buttons.gif') 0 -28px no-repeat;
            color:#fff;
            cursor:pointer;
            text-align:center;
            width:100px;
            height:28px;
        }
        input[type="submit"].common:hover, input[type="button"].common:hover
        {
            background:#4a7dbb url('{base_url}includes/common/img/buttons.gif') 0 0 no-repeat;
            color:#ffda2f;
        }
        
    </style>
    <script type="text/javascript" src="{base_url}js/jquery/jquery.js"></script>
    <script type="text/javascript" src="{base_url}js/jquery/plugins/jquery.corner.js"></script>
</head>

<body>
    <div class="error">
        <div class="inner">
            <div class="logo"><img src="{base_url}includes/common/img/logo-light.png" alt="eSyndiCat" /></div>
            
            <h1>{error_title}</h1>

            <p><b>{error_description}</b>&nbsp;{error_solutions}</p>
        
            <p class="solution">If you are not sure what this error means you can always visit <a href="http://www.esyndicat.com/forum/">eSyndiCat Support Forums</a>&nbsp;or try&nbsp;<a href="http://www.esyndicat.com/docs/errors/{error_key}.html">these solutions</a>.</p>

        </div>
    </div>

    {additional}

    <script type="text/javascript">
        $("div.error .inner").corner("bevel 2px").parent().corner("bevel 3px");
    </script>
</body>

</html>
RastyAmateur
Profil
Nailen:
Výborně, hneme se. Podle chybové hlášky by mě první napadlo, že je špatně cesta k souboru. Tak to zkus nějak opravit, určitě to vykoumáš. Třeba pomocí __DIR__ si zjisti, kde se vlastně vůbec nacházíš, pak zjisti, kde přesně je hledaný soubor a nějak to zkombinuj. Nebo vezmi rovnou absolutní cestu hledaného souboru a je to.
Nailen
Profil
RastyAmateur:
Dobrý den,

použil jsem ten příkaz __DIR__ Vypsalo to cestu /home/www/uctenka.eu/domains/glosdir.eu/www
Když jsem ji takto doplnil, tak se nic nestalo. Když jsem za ni doplnil ještě lomítko, tak to evidentně vzalo a dostal jsem se dál.

Tím jsem se dostal k dalším chybám, které potřebuji vyřešit. Zásadní problém je, že projekt je psán s funkcí mysql a je ho potřeba nahradit mysqli.
Napadá někoho jak to elegantně vyřešit.

Předem děkuji za další nakopnutí.
Tomášeek
Profil
Nailen:
Jediné elegantní řešení je všechny výskyty mysql nahradit za mysqli, nebo jiný ekvivalent.

Prasacky můžeš nedefinovat sadu funkci mysql s chováním mysqli, ale v tom případě bych po to tobě ten projekt nechtěl dostat do správy. Vlastně se k němu ani jako autor dostat po půl roce.
Nailen
Profil
není to tak jednoduché nahradit výskyt. Je tam hodně rozdílů. Naštěstí na hostingu bylo možno přehnout pro daný adresář na starší verzi PHP, která tuto aplikaci podporuje.
Takže se zdá, že mám snad vyřešeno.

Děkuji za spolupráci.
Keeehi
Profil
Nailen:
Naštěstí na hostingu bylo možno přehnout pro daný adresář na starší verzi PHP,
Takže se zdá, že mám snad vyřešeno
Pokud ti nevadí, že ta stará verze PHP už nedostává bezpečnostní záplaty, pak ano.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0