Проверка на E_STRICT

Если вы хотите проверить только один скрипт на ошибки уровня E_STRICT, воспользуйтесь командной строкой:

php -d error_reporting=4095 -l script_to_check.php

Для более крупных проектов скрипт оболочки выполнит аналогичную задачу:

#!/bin/sh

directory=$1

shift

# Проверяемые модули
extensions="php inc"

check_file ()
{
  echo -ne "Выполнение проверки синтасиса для $1 ..."

  # Опции:
  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 "Синтаксические ошибки не обнаружены"`

  if test -z "$ERRORS"; then
    echo -ne "Ошибок нет."
  else
    echo -e "Найдены ошибки!\n$ERRORS"
  fi

  echo
}

# цикл по оставшимся флагам файла
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
add a note add a note

User Contributed Notes 1 note

up
-1
designteam at casemumbai dot com
16 years ago
Example usage:

<?php
//Errors will be printed on the screen with the following line
error_reporting(E_STRICT);

function
change (&$var) {
 
$var += 10;
}

$var = 1;
change(++$var);
echo
"var=$var";
change($var = 5);
echo
"var=$var";

?>

More examples:
http://en.wikipedia.org/wiki/E_STRICT
To Top