变量没有引号,不同的响应实时和本地

时间:2016-09-27 06:18:41

标签: php php-5.6 incompatibility

我目前正在检查旧PHP中开发的软件的弃用功能。它是在2006年开发的。我在这种格式中看到了很多变量 var data = google.visualization.arrayToDataTable([ ['Time', 'Total MacID']<?php echo $tablerow; ?> ]); $_SESSION[name]

这里的问题是它不会在部署的站点上给出错误。但在我的本地,它提供了 $_GET[name]

我知道我可以通过在每个变量上添加单引号或双引号来解决这个问题,但还有很多要编辑的内容。我无法访问服务器配置。

知道为什么这对我的本地不起作用。我使用PHP 5.6。

编辑::我只是想知道背后的原因。

感谢。

1 个答案:

答案 0 :(得分:0)

在这种奇怪的场景中,您有来自电子通知的提示: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');

这样,你可能会暂时击败噩梦......

注意: 这不是一个很好的解决方案...它只是一个暂时的 解决方法 直到您可以从服务器端解决问题....