php与版本5到版本7的定义有区别吗?

时间:2017-09-30 21:50:27

标签: php

我迁移到godaddy获得perma-host。现在我的大部分代码都无效。 多年来,我在游戏网站中使用了以下代码。但现在我想把它转移到一个更永久的东道主。我一直在使用php v5没有问题,从来没有理由改变。但是我最终迁移到了PDO。话虽如此,这里是我使用的.ini文件:(请记住,它是一个giagantic ini文件,但以下是重要的不工作..

SQL_TYPE=mysql
HOST=localhost
USER=incognito
PASS=topsecret
DATABASE=mycooldb

将其拉出来定义:

$defines = parse_ini_file('defines.ini');
    foreach($defines as $field=>$data)
        define($field, $data);    

现在我使用godaddy时遇到错误(我认为是v7 php)。 如果我跑

die('host = '.HOST) // gives HOST

在我的本地服务器上

die('host = '.HOST) // gives localhost - as it should

为什么会这样?我想我可以逐行排列定义,但它们已经按照我的方式工作了多年。

感谢您的任何意见。

1 个答案:

答案 0 :(得分:0)

由于看起来我有2个问题,我将回答解决此问题的第一个问题并将其关闭:

DEFINES没有问题,而是我的.ini文件存储了创建DEFINES的变量的信息。

在这个ini文件中,我最初有#34;#"对于当时被接受的评论,(这是我以前看到的:https://en.wikipedia.org/wiki/INI_file#Format) 但是,没有抓住一些"折旧错误"我从PHP v5.3开始多年 - 因为我顽固地改变了 - "#"是那些警告之一。当PHP 7终于来了,"#"不再作为评论工作,因此我的DEFINES变量停止工作,因为脚本停留在第一个注释行。

结论:就我的错误而言,PHP:v7和v5之间的定义没有区别,但使用"#"由于评论引起了错误。 感谢@Magnus Eriksson和@Calimero提示显示错误以获取它。