Syntaxchecker für PHP

  • Syntaxchecker für PHP

    Gibst es eine Syntaxchecker für PHP?

    Habe hier ein etwas größeres PHP Script. genauer genommen ist das für Nopaste, das ranzt sofort mit folgendem Fehler ab.


    Quellcode

    1. Parse error: syntax error, unexpected T_STRING in /var/www/config.php on line 9


    Quellcode

    1. <?
    2. # Config File for NoPaste
    3. # use define() everywhere for more safety
    4. define("DB_NAME", "");
    5. define("DB_TABLE", "");
    6. define("MYSQL_HOST", "");
    7. define("MYSQL_USER", "");
    8. define("MYSQL_PASSWORD", ");
    9. define("PHPBB_DB", "");
    10. define("PHPBB_USER_TABLE", "");
    11. define("NICE_URLS", TRUE);
    12. define("PASTE_PATH", "../pastes");
    13. define("MAX_PASTESIZE", 100000);
    14. define("DEFAULT_HIGHLIGHT", "generic");
    15. # DO NOT EDIT BELOW THIS LINE FOR NORMAL OPERATION!
    16. define("GESHI_PATH", "geshi");
    17. # Filetypes for Syntax Highlighter
    18. $languages = array(
    19. "generic" => "Allzweck",
    20. "none" => "Keine",
    21. "ada" => "Ada",
    22. "apache" => "Apache Config",
    23. "asm" => "Assembler",
    24. "asp" => "ASP",
    25. "bash" => "Bash",
    26. "c" => "C",
    27. "cpp" => "C++",
    28. "csharp" => "C# / Mono",
    29. "css" => "CSS",
    30. "delphi" => "Delphi",
    31. "html4strict" => "HTML4 (Strict)",
    32. "java" => "Java",
    33. "javascript" => "Javascript",
    34. "lisp" => "Lisp",
    35. "objc" => "Objective C",
    36. "oobas" => "OO Basic",
    37. "pascal" => "Pascal",
    38. "perl" => "Perl",
    39. "php" => "PHP",
    40. "python" => "Python",
    41. "qbasic" => "QBasic",
    42. "smarty" => "Smarty Templates",
    43. "sql" => "SQL",
    44. "xml" => "XML");
    45. ?>
    Alles anzeigen


    Das ist aber nur ein Teil davon das Hauptscript ist noch wesentlich größer.
    Debian Lenny * Kernel 2.6.32 * KDE 3.5.9/10
    Athlon Dual Core Processor 4850e * MSI K9N2 Diamond * 8192 MB DDR2 800
    1x 1500 GB S-ATA
  • php prüft die fehler doch automatisch und gibt meist sehr aussagekräftige hilfestellungen??
    in diesem fall ist der fehler ja klar

    was hast du also vor?
    oder willst du dein eigenes [coderwiki]Informationen/NoPaste[/coderwiki] script, welches die fehler ohne "kompilierung" ausgibt?

    *ggg* etwas übertrieben, aber wie wärs mit ner virtuellen webserver-umgebung, in der du alle php scripte laufen lassen kannst, ohne dass was kaputt geht..
    dann hast du den original php [coderwiki]Informationen/Parser[/coderwiki] ;)
  • Naja dann werd ich wohl auf einem anderen Rechner phpBB und Nopaste aufsetzen, und dabei nicht die Debianpakete benutzen. Achso könnte es eventuell auche der Version von PHP liegen? Momentan läüft hier PHP4.
    Debian Lenny * Kernel 2.6.32 * KDE 3.5.9/10
    Athlon Dual Core Processor 4850e * MSI K9N2 Diamond * 8192 MB DDR2 800
    1x 1500 GB S-ATA
  • "kbdcalls" schrieb:

    Achso könnte es eventuell auche der Version von PHP liegen? Momentan läüft hier PHP4.


    also der fehler oben ist klar ein syntaxfehler und würde mit keiner PHP Version funktionieren

    das wäre ja einfach statt einem
    define("MYSQL_PASSWORD", ");
    ein
    define("MYSQL_PASSWORD", "");

    ich nehme an, da hat jemand sein passwort auf die schnelle entfernt und dabei das anführungszeichen mit gelöscht
  • Stimmt kleine Ursache große Wirkung Sieht schon mal wesentlich besser aus. Läuft zwar noch nicht richtig, das wird wird dann im eigentlichen Script liegen . Auf jedenfall ist der Fehler schon mal weg.
    Debian Lenny * Kernel 2.6.32 * KDE 3.5.9/10
    Athlon Dual Core Processor 4850e * MSI K9N2 Diamond * 8192 MB DDR2 800
    1x 1500 GB S-ATA
  • "wulfgang" schrieb:

    die fehlerausgabe von php ist manchmal etwas sparsam. aber wenn man danach sucht, findet man bestimmt ein paar debug-scripts.


    Ich würde jedem ernsthaften PHP-Entwickler eine lokale Arbeitsumgebung mit [coderwiki]Informationen/Apache[/coderwiki], MySQL, Eclipse und PHPEclipse und evtl. Subversion oder CVS empfehlen. Damit lässt sich auch sehr gut debuggen.

    70abc