Когда я определяю STATUS, он по умолчанию равен 0. Тем не менее все остальные константы работают.
define('LOCATION',07);
define('STATUS',08);
echo 'x'.STATUS."x\n";exit;
define('TERM_DATE',09);
$ php synchronize.php
x0x
Ваш код работает отлично! Но где ваша проблема, вы определили ее как восьмеричное значение и 08
является недопустимым восьмеричным значением, поэтому все после него удаляется и 0 остается.
Вы можете прочитать больше об этом здесь: http://php.net/manual/en/language.types.integer.php
И цитата оттуда:
Предупреждение:
Если недопустимая цифра указана в восьмеричном целом числе (т.е. 8 или 9) остальная часть номера игнорируется.
Таким образом, вы можете определить его как строку, например,
define('STATUS', "08");
//^ ^ See the quotes
Или определите его как действительное восьмеричное число. (То же самое для: define('TERM_DATE',09);
)
Других решений пока нет …