我们的一个用户组已创建并一直在godaddy.com上维护一个网站。让它离开的人,用户向MIS寻求帮助,并且我被要求进行更改。它必须保留在godaddy.com上,直到我们弄清楚如何最好地将应用程序移动到我们自己的服务器上。
为了建立测试环境,我将所有内容下载到我的工作站,启用了IIS,并安装了PHP和MySQL。进行了必要的修改。用户批准了更改。不幸的是,其中一个文件在godaddy.com上不起作用。我正在寻求帮助,因为我有PHP经验,但对课程没有太多帮助。
最初的代码有:
private static $DB_HOSTs = 'xxxxxxx';
我把它改为:
private static $DB_HOSTs;
public function __construct() {
$this->DB_HOSTs = (strtoupper($_SERVER["HTTP_HOST"])=='D444L40334') ? 'localhost:3306' : 'xxxxxxxx';
我读到有关“私有静态”的查找变量无法使用外部变量进行设置,因此必须使用__construct()方法。进行此更改后,它在我的机器上正常工作。我认为这可能是一个版本控制问题,下面的stackoverflow问题PHP Version Upgrade Caused Problems With Class Constructors证实了这一点。
我需要在我的工作站和godaddy.com网站上使用相同的代码。我不会在两者之间使用不同的文件来更改从测试到生产的文件。相反,我使代码动态化。在这种情况下我需要做出哪些改变?我的工作站PHP版本是5.3.28,godaddy.com是5.2.17。感谢
答案 0 :(得分:0)
5.2.x和5.3.x之间存在巨大差异
很多变化都是在php的面向对象方面进行的。
我不会提到过时的5.2.x是多么过时。
您可以查看此内容以查看更改。