migration51-php-errorcheck-9

  • Migrating from PHP 5.0.x to PHP
    5.1.x
  • Checking for
    E_STRICT

  • Checking for E_STRICT
  • Checking for
    E_STRICT

    Checking for
    E_STRICT

    If you only have a single script to check, you can
    pick up E_STRICT errors using PHP’s
    commandline lint facility:

    php -d error_reporting=4095 -l script_to_check.php
    

    For larger projects, the shell script below will
    achieve the same task:

    #!/bin/sh
    
    directory=$1
    
    shift
    
    # These extensions are checked
    extensions="php inc"
    
    check_file ()
    {
      echo -ne "Doing PHP syntax check on $1 ..."
    
      # Options:
      ERRORS=`/www/php/bin/php -d display_errors=1 -d html_errors=0 -d error_prepend_string=" " -d error_append_string=" " -d error_reporting=4095 -l $1 | grep -v "No syntax errors detected"`
    
      if test -z "$ERRORS"; then
        echo -ne "OK."
      else
        echo -e "Errors found!\n$ERRORS"
      fi
    
      echo
    }
    
    # loop over remaining file args
    for FILE in "$@" ; do
      for ext in $extensions; do
         if echo $FILE | grep "\.$ext$" > /dev/null; then
           if test -f $FILE; then
             check_file "$FILE"
           fi
         fi
      done
    done