Hei,
kun testailen erilaisia juttuja omalla palvelimella, niin usein kun tulee virhe niin tulee tämän tapainen esim. Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\,,, on line 83
Saako mitenkään tuon polun piilotettua siis tuon alkuosan C:\xampp...
Muuttamalla ohjelmia. Ei kai muuten. Miksi haluat sen piiloon?
Postaa rivit 82, 83 ja 84 niin se on helpompi piilottaa :)
Edit: Tai sitten https://www.php.net/manual/en/function.error-reporting.php
Parse errorille ei voi mitään, koska se kaataa PHP:n jo ennen skriptin suorittamista. Muita erroreita voi ja ehkä kannattaakin muotoilla omilla virheenkäsittelijöillä, ks. set_error_handler ja set_exception_handler.
Ööhh.. nyt taisi tulla väärin ymmärrys. En siis tarkoita PHP:n virheilmoitusta, vaan KAIKKIA virheilmoituksia mitä tulee, niin tuo polun alkuosa C:\xampp\ niin voiko tuo saada piiloon. Virheilmoituksia en tietenkään halua piiloon. Tuo kyseisen ilmoitus olisi siis päästä revitty.
Esim. jos tulee joku error ohjelmointiputkassa niin tuskin tulee mitään Error in etc/var/public_html ja niin edespäin.
Metabolix kirjoitti:
Parse errorille ei voi mitään, koska se kaataa PHP:n jo ennen skriptin suorittamista. Muita erroreita voi ja ehkä kannattaakin muotoilla omilla virheenkäsittelijöillä, ks. set_error_handler ja set_exception_handler.
Juu juu, tiedän ton, mutta ei auta edelleen. Jos tulee esim. sivua ei löydy (WINDOWS) etc. niin lukee se polku esim. C:/xampp/htdocs/xhtmld.php. Miksi pitää lukea koko polku C: alkaen. Miksei lue verkkotunnusta, vaikka on tuo *.dy.fi tunnus käytössä.
Ubuntussa ja niin edespäin lukee /etc/user/var/public.html tjps. niin miksei tuossaki verkkotunnusta tai vain loppuosa?
Kyse on apachen, ei php:n virheilmoituksesta. Voit hakea tietoa vaikka hakusanalla "apache page not found".
Beuling kirjoitti:
Miksi pitää lukea koko polku C: alkaen. Miksei lue verkkotunnusta, vaikka on tuo *.dy.fi tunnus käytössä.
Tiedoston polku on paljon tärkeämpi tieto sivuja korjaavalle ylläpitäjälle etenkin jos sivu koostuu useista tiedostoista. Www-osoitteen näkee tarvittaessa selaimen osoiteriviltäkin.
Beuling kirjoitti:
Miksei lue verkkotunnusta
Olisi tyhmää ilmoittaa vain selaimen pyytämä osoite. On aivan mahdollista tehdä sivusto, jolla tiedosto x sijaitsee paikassa /yksi/polku/x ja tiedosto y sijaitseekin paikassa /eri/paikka/y.
Ja kyllä minusta on kaikin puolin parempi saada PHP:n ilmoituksiin polku, jonka voi suoraan syöttää editoriin.
Beuling kirjoitti:
Esim. jos tulee joku error ohjelmointiputkassa niin tuskin tulee mitään Error in etc/var/public_html ja niin edespäin.
Ohjelmointiputkassa tulee itse asiassa vielä mystisempiä polkuja, joita ei edes näy tiedostojärjestelmässä. Asialla lienee jotain tekemistä sen kanssa, miten webhotellin virtuaalipalvelimet on järjestelty.
Beuling kirjoitti:
Jos tulee esim. sivua ei löydy (WINDOWS) etc. niin lukee se polku esim. C:/xampp/htdocs/xhtmld.php
Onko todella näin? En ole koskaan nähnyt, että 404-sivulla olisi koko polku. Eri asia on tietenkin, jos olet kirjoittanut osoiteriville tavallisen polun ("C:/xampp/htdocs/xhtmld.php"), jolloin asialla ei ole enää mitään tekemistä minkään palvelinohjelmiston kanssa.
Metabolix kirjoitti:
Olisi tyhmää ilmoittaa vain selaimen pyytämä osoite. On aivan mahdollista tehdä sivusto, jolla tiedosto x sijaitsee paikassa /yksi/polku/x ja tiedosto y sijaitseekin paikassa /eri/paikka/y.
Ja kyllä minusta on kaikin puolin parempi saada PHP:n ilmoituksiin polku, jonka voi suoraan syöttää editoriin.
PHP virheilmoituksissa mun mielestä se polku on tärkeä, jotta tietää mistä lähteä selvittämään, mutta miksi se pitää olla tällainen: C:/xampp/htdocs/rikki.php. (ubuntussa sitten taas oma /var/ ja niin edepsäin) Miksei se voisi olla vaikkapa verkkotunnus eli www.sivunnimi.com/rikki.php ? Esim. www.kugin.com/rikki.php
Metabolix kirjoitti:
Onko todella näin? En ole koskaan nähnyt, että 404-sivulla olisi koko polku. Eri asia on tietenkin, jos olet kirjoittanut osoiteriville tavallisen polun ("C:/xampp/htdocs/xhtmld.php"), jolloin asialla ei ole enää mitään tekemistä minkään palvelinohjelmiston kanssa.
Kyllä melkein on. Linkkasin parille kaverille ja niillä aina valitti C:/ alkuisella polulla, vaikka otin tuolta dy.fi sen tunnuksen.
Eikös tämä ole vähän epänormaalia? Joskus luin että tähän liittyy tietoturvariski, mutta en ole vielä yhdelläkään sivulla huomannut että lukisi levyaseman kirjain etc. Ei edes webhotellissa ja niin edespäin
Beuling kirjoitti:
Miksei se voisi olla vaikkapa verkkotunnus eli www.sivunnimi.com/rikki.php
Mitä jos lukisit sen minulta lainaamasi pätkän uudestaan? Siinä juuri perustelin kahdellakin tavalla, miksi oikea polku on parempi.
Beuling kirjoitti:
miksi se pitää olla tällainen: C:/xampp/htdocs/rikki.php. (ubuntussa sitten taas oma /var/ ja niin edepsäin) Miksei se voisi olla vaikkapa verkkotunnus eli www.sivunnimi.com/rikki.php ?
Koska PHP ei tiedä, mikä URL johtaa siihen rikkinäiseen PHP-tiedostoon. On myös täysin mahdollista, että siihen tiedostoon ei pääse millään URL-osoitteella.
http://www.nyan.fi/b/virhe_muualla.php -- et pääse millään osoitteella käsiksi tiedostoon minua_et_nae_nyahahaa.php, se on yksinkertaisesti docrootin ulkopuolella.
Beuling kirjoitti:
Kyllä melkein on. Linkkasin parille kaverille ja niillä aina valitti C:/ alkuisella polulla, vaikka otin tuolta dy.fi sen tunnuksen.
Taisit linkata niille syntaksivirheellisen PHP-tiedoston, et olematonta tiedostoa? Vertaa ylempi linkkini ja http://www.nyan.fi/b/ei_tammosta_oo.php
Beuling kirjoitti:
Joskus luin että tähän liittyy tietoturvariski, mutta en ole vielä yhdelläkään sivulla huomannut että lukisi levyaseman kirjain etc. Ei edes webhotellissa ja niin edespäin
Unixeissa ei ole levyasemia, joten ei myöskään niiden tunnuksia. Niille polkua 'C:\' eli juurta vastaa yksinkertaisesti vinoviiva '/'.
Beuling kirjoitti:
Eikös tämä ole vähän epänormaalia? Joskus luin että tähän liittyy tietoturvariski, mutta en ole vielä yhdelläkään sivulla huomannut että lukisi levyaseman kirjain etc. Ei edes webhotellissa ja niin edespäin
PHP:n virheilmoitukset on tarkoitettu ohjelmoijalle. Ei niitä ole tarkoitus käyttäjälle näyttää. Sitä varten sinulle jo kerrottiin, miten ilmoitusten käsittelyä voi tuunata tuotantojärjestelmään.
Beuling kirjoitti:
Eikös tämä ole vähän epänormaalia? Joskus luin että tähän liittyy tietoturvariski, mutta en ole vielä yhdelläkään sivulla huomannut että lukisi levyaseman kirjain etc. Ei edes webhotellissa ja niin edespäin
Koska niissä ei olekkaan Windowsia pohjana.
The Alchemist kirjoitti:
Unixeissa ei ole levyasemia, joten ei myöskään niiden tunnuksia. Niille polkua 'C:\' eli juurta vastaa yksinkertaisesti vinoviiva '/'.
Jess, tajusin ja testasin. Kaveri varmaan sai jonkun php errorin eikä sivua ei löytynyt.
Aihe on jo aika vanha, joten et voi enää vastata siihen.