2012-12-08 63 views
1

我一直在使用包含在xampp包中的sqlite 2。当php和它的库不断升级时如何保持旧版本

虽然我安装了最新的xampp软件包,它有sqlite3。

现在,当我运行我的代码时,我得到错误,并发现sqlite 2不适用于该包。

像这样的事情发生在PHP和所有相关的库,例如分割函数其他。

如果是本地系统没有问题,我们会更新它,但在共享主机时,他们通过错误升级到新的PHP版本的现有网页。

我们如何知道php将删除一些函数并将其替换为其他新函数而不是保留相同的名称,但具有升级的功能?

当他们升级或更改服务器中当前现有功能的版本时,会发生什么情况是网站中断。你可以在整个页面看到错误。许多页面不会工作。如果没有注意到seo评级下降。用户不会信任该网站。这发生在wordpress和mediawiki,我一直在使用一段时间,当他们升级php最近的模块没有加载,而是我得到了致命的错误。这是讨厌的。

在这种情况下,这将是繁忙的持续升级你的代码为特定的时间间隔(当PHP升级它们的功能)

这是怎么回事无尽据我所知道的。

什么是在服务器端和本地主机的解决方案。

+0

有人可以说为什么今天两个人为这个问题投下了票? –

回答

2

这的确是一个问题。而唯一的解决方案是:

  1. 在写代码之前要考虑你的依赖关系。
  2. 留在球上。

在您决定使用任何一种特定技术来依靠它之前,研究它是否将被弃用,否则不建议将来使用。这些PHP人员非常善于在手册中指出这些内容,因此阅读php.net上的相关页面通常足够好。

PHP开发人员对他们的弃用流程非常好,他们的大多数API的弃用流程非常缓慢。

你仍然需要留在球上。按照不经常发布的官方公告,了解发生了什么变化以及需要注意的地方。每个主要PHP版本的更改日志通常都值得研究。

如果您有经常更改,而你做一个系统上运行的代码,你需要注意你的主机的发布也是如此。如果他们没有提前公布重大变化,请寻找另一个主机。

构建错误处理程序,以便通过电子邮件通知您严重错误。您可能需要包含一个脚本,用于检查主要依赖项的可用性,并通知您是否缺少这些依赖项。

如果您有严重的代码,请不要在共享主机上运行它,因为这些共享主机不能提供足够的平台控制权。运行你自己的服务器,并小心升级PHP。老版本为什么会在一段时间内收到维护更新是有原因的。

通常你有一个系统管理员管理的部署代码和服务器,你应该与此人是你从服务器要求,如果服务器的一些重大变化正在发生的那个人应该跟你沟通。如果你是那个人,就像现在的许多sys-dev-ops一样,你需要完成这部分工作。

1

好问题。 我说你太担心了。 PHP团队非常关心向下兼容性。我现在使用PHP已经有10多年了,网络在这个时候改变了很多,PHP也一样。变化正在经历很长的折旧过程,并且在实际发生之前就会公布很长时间。即便如此,在我记得的情况下,仍然有可能用新版本做废弃的方式。

这一切都适用于随PHP自带的PHP内核和扩展。

在SQLlite的情况下,我不记得那里有什么交易,从来没有真正使用它。

在其中一个较新的PHP 5版本中,他们在日志级别中引入了弃用位。 如果您将日志级别更改为E_ALL-1,那么如果您使用任何弃用的函数,则会得到一条记录,因此您可以尽早做出反应。

http://php.net/manual/en/function.error-reporting.php

另外释放折旧和向后不兼容的改变例如列表

http://php.net/manual/en/migration54.incompatible.php

在这里宣布所有的变化是不好的做法多年被处理之前已经所以没有人应该立即更改密码。

我希望这不再杀了你:)好运

+1

FWIW,他们决定为SQLite 3编写新的接口代码,因为底层库发生了巨大变化。虽然2.x不被弃用,但它变得越来越不常见。 3.x已经出现多年,现在已经有好几年了。 – Charles