Переменная без кавычек, разный ответ живой и локальный

В настоящее время я проверяю устаревшие функции программного обеспечения, разработанного в более раннем PHP. Он был разработан в 2006 году. И я видел много переменных в этом формате $_SESSION[name] или же $_GET[name],

Проблема здесь в том, что он не выдает ошибку на развернутом сайте. Но в моем местном это дает Notice: Use of undefined constant name - assumed 'name',

Я знаю, что могу решить эту проблему, добавив одинарные или двойные кавычки к каждой переменной, но многое нужно изменить. И у меня нет доступа к настройкам сервера.

Любая идея, почему это не работает на моем местном. Я использую PHP 5.6.

РЕДАКТИРОВАТЬ:: Я просто хочу знать причину.

Благодарю.

1 ответ

В этом нечетном сценарии у вас есть подсказка из электронного уведомления: Notice: Use of undefined constant name - assumed 'name', Поскольку у вас нет доступа к серверу (и до тех пор, пока вы не сделаете это), вы можете просто создать временный файл, скажем: _DEFINES.php и включите его в свои сценарии. Внутри этого файла вы можете просто определить эти переменные как строки:

<?php 
    defined('name')           or define('name',           'name');
    defined('another_string') or define('another_string', 'another_value');
    defined('yet_another')    or define('yet_another',    'yet_another');

Таким образом, вы могли временно победить кошмар...

ПРИМЕЧАНИЕ. Это не слишком большое решение... это временное решение, пока вы не сможете решить проблему со стороны сервера....

Другие вопросы по тегам