To achieve what you want, you need to do a few things.
First, warnings. There are several ways to affect this. The INI key you're
looking for is error_reporting, and you want it set to E_ALL (or, in PHP5, E_ALL
| E_STRICT). You can do this by:
- In your php.ini file, "error_reporting = E_ALL | E_STRICT"
- In your php file, add the line "error_reporting(E_ALL | E_STRICT)"
- Alternatively, create a file that does the above option, and set the INI
setting 'auto_prepend_file = ...' to this location
You still then have to tell PHP to actually display the errors. In development
environments, you'll usually have this turned on, but should turn it off in
production environments. Again, you need to affect an INI setting, this time
'display_errors":
- In your php.ini file, "display_errors = On"
- In your php file, add the line "ini_set('display_errors', true);"
- Again, as above, add the above line to an auto_prepend_file
The final part of your request is how to execute and/or test a file from the
command line. The simple answer: "php script.php" will do so. If you want to
test for well-formedness, add the -l switch (lint): "php -l script.php". You can
also simply parse the file, which will catch some errors that linting won't:
"php -f script.php".
Finally, "php --help" gives you the above options, and more. As to the INI
settings, look in the provided php.ini files, as they are very well commented.
Update: You can also pass INI settings via the CLI option '-d'. If you want E_ALL (2047) and E_STRICT (2048), and to display errors, try the following: php -d "error_reporting=4095" -d "display-errors=On" myscript.php.