Sziasztok! Épp XP-ről szeretnék áttérni Ubuntu-ra. A WAMP fejlesztő környezet helyett telepítettem a LAMP-ot. Nekiálltam PHP-zni, persze hibákkal . A Windows alatt mikor hibáztam, elütöttem valamit akkor kiírt egy hibát amiből ma már könnyen meg tudom határozni mit szúrtam el. A gondom az, hogy ez nincs Ubuntu alatt. Csak ennyi:

"500 HTTP hiba (Internal Server Error):"
Google-ba nem találtam semmit, vagy csak nem jól kerestem. Így is megtalálom a hibákat csak tovább tart. Előre is köszönöm a segítséget.

A webszerver panaszkodik valami belső hibára, nézd meg a logokat.

"A Windows alatt mikor hibáztam, elütöttem valamit akkor kiírt egy hibát amiből ma már könnyen meg tudom határozni mit szúrtam el." ha a webszerver futtasa le a php-t , akkor is kellene , hogy kapj hibauzenetet, kb1eve php-ztam utoljara, akkor meg ugy volt. ha konfigoltad a servert, akkor ujra kellene inditani az apache-ot 500 http://en.wikipedia.org/wiki/HTTP_500#5xx_Server_Error

Megnéztem a log-ot.

[Tue May 10 18:18:27 2011] [error] [client 127.0.0.1] PHP Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /var/www/vedett2.php on line 5
Na ezt szeretném látni - vagy ilyesmit- mikor hiba van a PHP-ban, mert ebből tudom mi a hiba de a fent leírtból nem.

Na eddig arra jutottam, hogy a php-ban a display_errors off -ra van állítva. így csak az error.log-ba menti el a hibát. Még megkeresem, hogy kell on-ra állítani.

    Na eddig arra jutottam, hogy a php-ban a display_errors off -ra van állítva. így csak az error.log-ba menti el a hibát. Még megkeresem, hogy kell on-ra állítani. Nos siker. Azért leírom hátha valaki más is belefut ebbe. 1. A php.ini file ban a display_errors és a display_startup_errors Off -ra volt állítva. Ezeket állítottam on-ra. 2. Ubuntu alatt nem férünk hozzá minden fájlhoz ezért jogosultságot kell adnom magamnak az adott könyvtárra. azaz

    cd /etc/php5/ sudo chown -R felhasznaloneved apache2
    a felhasznaloneved helyére írd be a felhasználó neved. 3.Ez után már jogod van szerkeszteni a php.ini fájlt. Én sima jegyzettömböt használtam. Keresés display_errors. Ebben a környezetben:
    ; This directive controls whether or not and where PHP will output errors, ; notices and warnings too. Error output is very useful during development, but ; it could be very dangerous in production environments. Depending on the code ; which is triggering the error, sensitive information could potentially leak ; out of your application such as database usernames and passwords or worse. ; It's recommended that errors be logged on production servers rather than ; having the errors sent to STDOUT. ; Possible Values: ; Off = Do not display any errors ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) ; On or stdout = Display errors to STDOUT ; Default Value: On ; Development Value: On ; Production Value: Off ; http://php.net/display-errors display_errors = On Ezt állítottam On-ra ; The display of errors which occur during PHP's startup sequence are handled ; separately from display_errors. PHP's default behavior is to suppress those ; errors from clients. Turning the display of startup errors on can be useful in ; debugging configuration problems. But, it's strongly recommended that you ; leave this setting off on production servers. ; Default Value: Off ; Development Value: On ; Production Value: Off ; http://php.net/display-startup-errors display_startup_errors = On Meg ezt is On-ra állítottam
    4. Mentés. BEZÁRÁS- amíg nem zárod be nem fut. - 5.Apache újraindítása
    sudo /etc/init.d/apache2 restart
    6.És már látható a hiba a localhost-on. Mehet a kódolás . Remélem másnak is segítettem mert fél napig ezt kerestem.

      xwerson> sudo chown -R felhasznaloneved apache2 Ez nem túl szerencsés. Helyette csak egy sudo gedit /etc/php5/php.ini kellett volna. > ...mert fél napig ezt kerestem. Bocs, de: LOL

        Én a php forráskódot úgy szoktam leellenőrizni, hogy megnyitok egy terminált abban a mappában, ahol a fájlok vannak, mondjuk rá /www , és kiadom a parancsot: php -l fajlom.php Egész rendesen kiírja a programhibákat.

        xwersonRootként nincs jogod menteni? Ez meglep. Én a minap figyelmetlenségből root userként teleírtam nullás bitekkel a /-t képező partíciót.

          eszesA bejegyzés úgy kezdődik, hogy épp szeretnék átállni xp-ről ubuntu-ra. Szóval nem értelek, sry :)

            xwersonSzia. A parancs elé írt{syntaxhighlighter SPEC}sudo{/syntaxhighlighter} rendszergazda jogot ad. Persze majd szükség lesz a jelszóra is.

            xwersonUh, bocsi. Minthogy mindenki magából indul ki, azt feltételeztem, hogy némi olvasgatás után jársz már, és nagyjából az alapokat ismered.

            /etc/php5/php.ini keresd meg a: error_reporting ... sort és ezt rakd be: error_reporting = E_ALL & ~E_NOTICE szerk.: most látom, a hibát megoldottad, de én egyszer itt véreztem el, így csuklóból beírtam a megoldásom. de ebben az esetben tárgytalan a dolog Ajánlom a MEGOLDVA feliratot a címbe

              LWjuniOrA kérdező a gondját megoldotta, de a te verziódat kijavítanám. Ha azt szeretnéd, hogy minden hibát kiírjon, akkor csak ennyit írj: error_reporting = E_ALL De ha a display_errors = Off, akkor édes mindegy, hogy mi van az error_reporting-nál, úgyse írja ki. A témaindítónak: Jó lenne, ha a kérdéses mappa/fájl "jogait" visszaállítanád arra, ami volt előtte, mert így egy szép nagy kaput nyitottál a rendszered biztonságán. Ez nem jelenti azt, hogy most mindenki ott fog turkálni, de a lehetőség adott. :-) A jövőben pedig, ha rendszerfájlokat akarsz módosítani, elég a parancs elé beírni, hogy sudo és a jelszavad beírása után módosíthatsz amit akarsz, majd mentheted is. Példát kaptál eszes-től, talán annyi kiegészítést, hogy grafikus programnál gksu-t (Kubuntu-nál kdesudo ha igaz), terminálban futó alkalmazásnál pedig sudo-t kell használni. Valahogy így: gksu gedit /etc/php5/php.ini vagy "terminálos" szerkesztésre: sudo nano /etc/php5/php.ini

                HtibiPersze, de hibákat akart kiíratni. Ezek a megjegyzések meg néha túl sok információt akarnak közölni. Engem zavartak. De persze tudom, hogy ha a display_errors = Off, akkor mindegy, ez azt hiszem triviális. A jogokkal kapcsolatban meg... +1 :)