<?PHP
// Think about shell-command escaping if you`re using user-input
function php_check_syntax($file,&$error) {
exec("php -l $file",$error,$code);
if($code==0)
return true;
return false;
}
?>
Note: This is UNIX
Note: If your environment-variable PATH is not set correctly, you will need to insert the path to php (like /usr/local/bin/php)
php_check_syntax
(PHP 5 <= 5.0.4)
php_check_syntax — Überprüft die PHP Syntax der angegebenen Datei (und führt sie aus)
Beschreibung
$filename
[, string &$error_message
] )
Überprüft die Syntax (lint) der angegebenen Datei,
filename
Das bewirkt dasselbe wie php -l aus der Kommandozeile mit dem Unterschied, dass diese Funktion
die Datei filename ausführt aber den überprüften Dateinamen filename nicht ausgibt.
Zum Beispiel: Wenn eine Funktion in filename definiert ist,
wird diese Funktion in der Datei, die php_check_syntax() ausgeführt hat,
verfügbar sein, aber die Ausgabe der Datei filename würde nicht ausgegeben werden.
Hinweis:
Aus technischen Gründen, gilt diese Funktion als veraltet und wurde von PHP entfernt. Benützen Sie php -l einedatei.php aus der Kommandozeile, anstelle dieser Funktion.
Parameter-Liste
-
filename -
Der Name der Datei, die überprüft werden soll.
-
error_message -
Wenn der
error_messageParameter genutzt wird, enthält dieser die Fehlernachrichten, die durch den Syntax Check erzeugt wurden.error_messagewird von der reference übergeben.
Rückgabewerte
Gibt TRUE zurück, wenn die Datei dem Check bestanden hat, und FALSE wenn Fehler im Check
auftraten, oder wenn filename nicht geöffnet werden konnte.
Changelog
| Version | Beschreibung |
|---|---|
| 5.0.5 | Diese Funktion wurde aus PHP entfernt. |
| 5.0.3 | Aufrufen der exit Funktion nachdem php_check_syntax() in einem Segmentationfault endete. |
| 5.0.1 |
error_message wird von der Referenz übergeben.
|
Beispiele
php -l somefile.php
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
PHP Parse error: unexpected T_STRING in /tmp/somefile.php on line 81
php_check_syntax
25-Mar-2007 12:42
16-Feb-2005 05:38
PROBLEM: Your page is blank, or you can not define any functions in an include.
As mentioned below, the php_check_syntax function will include your file. So you may not be able to include it again. If you have an include later in your code, and you define any functions, you will get an error, or in some cases a blank page.