HTTP/1.1 404 Not Found file elérés közben
2018-11-26T12:09:12+01:00
2018-11-27T11:58:04+01:00
2022-08-11T08:25:30+02:00
KöveZoli
Sziasztok,

Igazából nem is tudom, hogy ez Delphi vagy HTML kérdés.
Van egy jól működő Delphis program, amivel a neten lévő egyik mysql-ből szépen leszedem az adatokat és feldolgozom.

Egy másik tárhelyről is kellene kinyernem adatokat. Az elérési út létezik, de mégis az elején az alábbi hiba ugrik fel: HTTP/1.1 404 Not Found

Egyszerűen nem tudom, mi lehet a hiba.

Egy programban felváltva hívnám meg a két lekérdezést. Két különböző procedurában, külön táblákba.
Ha kicserélem a jól működő részben a másik weboldalon lévő php elérési útját, a fenti üzenetet kapom.
Ha a jól működőből átteszem az elérési utat a nem jól működőbe, ott az lefut sikeresen, adatokkal.
Mindkét oldalon a php azonos, annyi különbséggel, hogy más mysql db és user van megadva.
A php-ban lévő sql lekérdezés jó, a phpmyadminban lefut, s megkapom a kérdéses adatokat.

Mi a véleményetek? Szervernél kellene valami?

Köszi!
Mutasd a teljes hozzászólást!
Én sem olvastam túl figyelmesen.
Akkor :
- Eddig is működött és nem volt módosítás.
- Van egy PHP progi ami futtat egy queryt aminek az eredményét leteszi egy könyvtárba.
- Ez a fájl vagy létre jön vagy nem. És ez a gondod.(?)
- Az sql jó mert lefut, és jó az eredménye.

 " HTML-ből meghívva már lefut. Delphiből még ugyanaz."

Létrejön a fájl ....? (A "HTML-ből"t nem értem. Böngészőre gondolsz vagy mire?)

Ha ez így van akkor jó a php és van írási joga a könyvtárra.
Ekkor böngészőből el kell tudnod érni az elkészült fájlt.
Ha mégsem akkor meg kell nézni tartalmazó könyvtár jogait, .htaccess fájlt ha van, php.ini,....stb.

Ha böngészőből eléred, de delphiből továbbra sem akkor játszhat a ModSecurity de ismerteim szerint
akkor nem 404-es hibát szokott dobni.
Az apache biztonsági beállításai megkövetelhetnek egyéb megszorításokat is a
kapcsolattól amit a böngésződ tud teljesíteni de a delphi nem.
A másik szerveren nincs ilyen beállítás (amit azért kétlek egy szolgáltatónál)

A curl-al többet megtudhatsz.
Mutasd a teljes hozzászólást!

  • Google mit mondott a 404-es HTTP-hibakódról?
    Mutasd a teljes hozzászólást!
  • Annyit, hogy a kért állomány nem található.
    A futtatandó file ott van a helyén. Az elérési út helyes.
    Mutasd a teljes hozzászólást!
  • Azért próbáld ki pontosan ugyanazt az URL-t böngészővel is (haladó esetben wget/curl).
    Mutasd a teljes hozzászólást!
  • Ha beírom a böngészőbe, csak letöltődik a php file üresen. 
    De ugyanez történik a jól működő elérési úttal is a böngészőben.

    wget/curl az linuxos téma, nem? Win10-en dolgozom.
    Mutasd a teljes hozzászólást!
  • Egy mezei html-ből meghívtam a php-t mindkét helyen.

    A lényegi különbség, hogy az egyik tárhelyen létrejön a file az adatokkal, a másikon nem.
    Mutasd a teljes hozzászólást!
  • A lényegi különbség, hogy az egyik tárhelyen létrejön a file az adatokkal, a másikon nem.

    Az egyik tárhelyen van írásjoga a PHP-nak (illetve igazából a webszervert futtató felhasználónak) az adott könyvtárra, a másikon meg nincs.
    Mutasd a teljes hozzászólást!
  • HTML-ből meghívva már lefut. Delphiből még ugyanaz.
    Megnéztem két felhasználóval a tárhelyet. Ahol látom a user gyökérkönyvtárát, ott így alakulnak az engedélyek:

    Én domainem / sajat(755) / ugyfel konyvtar(750) / lekerdezes(755)

    Ha a 750-et bármire állítom, 403-as lesz az üzenet.
    Mutasd a teljes hozzászólást!
  • Szerintem totálisan összekevered a html, a php és a mysql mibenlétét.
    Mutasd a teljes hozzászólást!
  • Mire gondolsz? Kérlek, írd le nekem.
    Kit értesz szervert futtató felhasználó alatt?

    Azt hittem arra gondolsz, hogy azoknak a mappáknak, ahol a file van, milyenek a mappák jogosultságai. Az számít, hogy oda milyen hozzáférési jog van.
    Azt tudni kell, hogy ahol az "ugyfel mappa" van, oda van irányítva egy domain.
    Mutasd a teljes hozzászólást!
  • Ha az egyik url-el működik a másikkal meg nem akkor csakis az url-be
    keresném a hibát.

    A CURL van windowsra is. Érdemes használni.

    Böngészőben webfejlesztő/webkonzol/hálózat és megvizslatni a
    a küldött és kapott tartalmakat.
    ! Nem csak az URL-let de a teljes fejlécet is!
    Mutasd a teljes hozzászólást!
  • Egyelőre még nem tudom, mit jelent, de ezt az infót már kaptam:

    Apache ModSecurity védi a szervert.
    Mutasd a teljes hozzászólást!
  • Akkor a másik url-el miért működik?
    Mutasd a teljes hozzászólást!
  • Az egy másik szerveren van, másik szolgáltatónál.
    Mutasd a teljes hozzászólást!
  • No akkor valami nem világos.
    Azt írtad az elején, hogyha felcseréled az url-eket akkor működik.
    Akkor ezek szerint a hibás szálon nem azt a szervert éred el hanem
    továbbra is a jót ami eddig is működött?
    Hááát akkor felesleges volt a csere.

    1. eddig működöt?
    2. Ha igen mit módosítottál
    3. SSL van-e?
    Mutasd a teljes hozzászólást!
  • Lehet, hogy nem voltam egyértelmű. Bocs.
    Amikor cserélgettem cserélgettem a linkeket, azt gondoltam, hogy Delphi kód hiba van.
    Aztán úgy tűnt, hozzáférési gond.
    Aztán most ott tartunk, a szerver nem engedi.
    A két adatbázis teljesen máshol van.
    Ami eddig jó volt, az most is jó. De az másik tárhely szolgáltató.
    Mutasd a teljes hozzászólást!
  • Én sem olvastam túl figyelmesen.
    Akkor :
    - Eddig is működött és nem volt módosítás.
    - Van egy PHP progi ami futtat egy queryt aminek az eredményét leteszi egy könyvtárba.
    - Ez a fájl vagy létre jön vagy nem. És ez a gondod.(?)
    - Az sql jó mert lefut, és jó az eredménye.

     " HTML-ből meghívva már lefut. Delphiből még ugyanaz."

    Létrejön a fájl ....? (A "HTML-ből"t nem értem. Böngészőre gondolsz vagy mire?)

    Ha ez így van akkor jó a php és van írási joga a könyvtárra.
    Ekkor böngészőből el kell tudnod érni az elkészült fájlt.
    Ha mégsem akkor meg kell nézni tartalmazó könyvtár jogait, .htaccess fájlt ha van, php.ini,....stb.

    Ha böngészőből eléred, de delphiből továbbra sem akkor játszhat a ModSecurity de ismerteim szerint
    akkor nem 404-es hibát szokott dobni.
    Az apache biztonsági beállításai megkövetelhetnek egyéb megszorításokat is a
    kapcsolattól amit a böngésződ tud teljesíteni de a delphi nem.
    A másik szerveren nincs ilyen beállítás (amit azért kétlek egy szolgáltatónál)

    A curl-al többet megtudhatsz.
    Mutasd a teljes hozzászólást!
  • Böngészőből az annyit jelent, hogy egy pár soros html-ben egy gomb használatával meghívom a php-t, ami sikeresen lefut, s létrejön egy csv file a tárhely megfelelő könyvtárában, benne a tárhelyen lévő egyik adatbázisból kinyert adatokkal.
    Ezt töltöm le, s dolgozom vele a delphis programban. Már mondták, hogy felesleges a file, máshogy is le tudom menteni az sql query-vel nyert adatokat a lokális db-be, de az én tudásom még nem tart ott.
    Ez az, ami a delphiből indítva nem történik meg, vagyis a csv file, amit a php file hozna létre, hiányzik, vagyis szerintem nem engedi hogy lefuttassam a query-t.

    Eddig ez a folyamat működött és most is működik egy másik szolgáltató tárhelyén, naponta használom.
    Az elakadt folyamatot a problémás tárhely már nézi, azt mondták, hogy ModSecurity lesz. Lehet, hogy sikeres lesz, s nem nálam van a "hiba".
    Mutasd a teljes hozzászólást!
  • Windowsból cmd-ben futtattam az általad javasolt curl-t. Tettem egy próbát.

    curl.exe http://......./query1_2.php

    Lefutott a lekérdezés, létrejött a file az adatokkal, viszont az error_log-ban megjelent egy sor:

    [27-Nov-2018 09:12:30 Europe/Budapest] PHP Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/..../lekerdezes/query1_2.php on line 17

    A 17-dik sor ezt tartalmazza:

    mysqli_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
    Mutasd a teljes hozzászólást!
  • A mysqli_query-ből hol marad a link azonosító, mint első paraméter?
    Mutasd a teljes hozzászólást!
  • Nem vagyok egy zsenije, nekem azt mondták, így adjam meg.
    Ha minden igaz, amire gondolsz, az egy sorral lejjebb van:

    mysqli_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");

    $query_kombi = mysqli_query($conn, "SELECT pa.reference,pl.name,pq.quantity FROM.......
    Mutasd a teljes hozzászólást!
  • (És mindezt Delphi-témakörben...)
    Mutasd a teljes hozzászólást!
  • Megadtam másodlagosnak a html-t is.
    És írtam is, az elején, hogy nem tudom, melyikben lenne a helye.
    Most már úgy tűnik, ez nem feltétlenül a Delphis oldal, bár mondhat még a szolgáltató olyat, ami miatt a Delphis kódot kell majd módosítani. De valószínűbb, hogy nem :)
    Mutasd a teljes hozzászólást!
  • Az első lekérdezésedbe is rakd bele a $conn változót.
    A mysqli_query függvény ugyanis nem opcionálisan, hanem kötelezően várja a kapcsolati azonosítót tartalmazó változót.

    Rontani biztosan nem rontasz a helyzeten, ha belekerül.

    Esetleg még kódban nem lehet kisbetű/nagybetű "anomáliád"?
    Mutasd a teljes hozzászólást!
  • Nincs, minden nagybetű :)

    Ok, belerakom!
    Mutasd a teljes hozzászólást!
  • És csak marad Delphis téma :)
    A szolgáltató úgy is biztosítja a szervert, hogy nem enged olyan futtatást, ahol nem derül ki, hogy milyen böngészőből indult a kérés.
    Mivel a program alapesetben nem hazudta, hogy ő mondjuk Mozilla/5.0, így nem is engedte végrehajtani a kérést.

    Megadtam neki az UserAgentet, és így működik!

    Köszönöm mindenkinek a tippeket!
    Mutasd a teljes hozzászólást!
abcd