A webszerver panaszkodik valami belső hibára, nézd meg a logokat.
PHP futtatásnál nincs hiba kód
"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 5Na 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 apache2a 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ítottam4. Mentés. BEZÁRÁS- amíg nem zárod be nem fut. - 5.Apache újraindítása
sudo /etc/init.d/apache2 restart6.É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.
É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.
/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