ID: 27406 Updated by: [EMAIL PROTECTED] Reported By: thomas at stauntons dot org Status: Assigned Bug Type: Unknown/Other Function Operating System: All PHP Version: php5.0-200412100930 -Assigned To: ilia +Assigned To: iliaa New Comment:
fix assign to Previous Comments: ------------------------------------------------------------------------ [2005-01-25 19:56:39] [EMAIL PROTECTED] It's like include() except it won't output the "checked" file (like if the "checked" file has an echo, it won't echo it). Aside from the obvious that's the only difference I notice but haven't tested it thoroughly. Sounds like this bug will never be fixed so I guess we should just document the current behavior. ------------------------------------------------------------------------ [2004-12-14 00:30:08] [EMAIL PROTECTED] I see it's assigned to Ilia so I'm not changing the status. Personally I would put this on very low priority for resolving. Whoever added the lint functionality probably did it for the command-line PHP in order to be able to quickly check a large amount of source code. I don't see this as a mainstream feature of PHP and would avoid hacking on getting it right as to not intefere with the normal execution of PHP (although it's quite possible). ------------------------------------------------------------------------ [2004-12-10 17:39:51] [EMAIL PROTECTED] See also: http://bugs.php.net/27728 ------------------------------------------------------------------------ [2004-11-11 23:34:56] jimmy dot lantz at gmail dot com Couldnt there be an optional bool for including the function? Like bool php_check_syntax ( string file_name [, string &error_message][, bool just_lint]) That is if 3rd var is true it behaves like php -l from CLI? That way we that just wants to validate PHP code without including/running it? Preferrably in a totally secured way... ------------------------------------------------------------------------ [2004-10-22 23:37:44] dan dot ostrowski at gmail dot com The person above posted this: ---------------------- <?php $error_message = ""; $filename = "./tests.php"; //Check out $filename if(!php_check_syntax($filename, $error_message)) { //Display an error message, the code is bad printf("Errors were found in the file %s:\n\n%s\n", $filename, $error_message); } else { //Execute the valid code include_once ($filename); } ------------------------- To use in the docs. The problem is this code is INCORRECT. The function php_check_syntax( ) INCLUDES THE FILE in php 5.0.2 This means you get redeclare errors if you try to check the syntax and then include the file. The example code SHOULD be: ----------------- <?php $filename = '/path/to/somefile.php'; $err = (string) null; if( !php_check_syntax( $filename, $err ) ) { print "Syntax Error!" die( ); } // proceed, because at this point the file is included // or script is dead. ----------------------------- ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/27406 -- Edit this bug report at http://bugs.php.net/?id=27406&edit=1