В настоящее время я проверяю устаревшие функции программного обеспечения, разработанного в более раннем PHP. Он был разработан в 2006 году. И я видел много переменных в этом формате $_SESSION[name]
или же $_GET[name]
.
Проблема здесь в том, что он не выдает ошибку на развернутом сайте. Но в моем местном это дает Notice: Use of undefined constant name - assumed 'name'
.
Я знаю, что могу решить эту проблему, добавив одинарные или двойные кавычки к каждой переменной, но многое нужно изменить. И у меня нет доступа к настройкам сервера.
Любая идея, почему это не работает на моем местном. Я использую PHP 5.6.
РЕДАКТИРОВАТЬ :: Я просто хочу знать причину.
Благодарю.
В этом нечетном сценарии у вас есть подсказка из электронного уведомления: 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');
Таким образом, вы могли временно победить кошмар …
НОТА: Это не большая часть решения … это просто временное работать вокруг пока вы не сможете решить проблему со стороны сервера ….
Других решений пока нет …