我一直在使用sampite 2,它包含在xampp包中。
之后我安装了最新的xampp包,里面有sqlite3。
现在,当我运行我的代码时,我收到错误,发现sqlite 2不适用于捆绑包。
像这样的事情发生在PHP及其所有相关的库中,例如分裂功能其他。
如果本地系统没有问题,我们无论如何都要更新它,但在共享主机中,当他们通过错误升级到新的php版本时,现有的网页。
我们怎么知道php会删除一些函数并将其替换为其他新函数而不是保留相同的名称但具有升级的功能?
当他们升级或更改服务器中当前现有功能的版本时,会发生什么事情是网站中断。你可以在整个页面看到错误。很多页面都不会工作。如果没有注意到,seo评级下降。用户不会信任该网站。这发生在wordpress也和mediawiki,我已经使用了一段时间,当他们最近升级PHP模块没有加载而不是我有致命的错误。这很讨厌。
在这种情况下,继续升级特定时间间隔的代码(每当php升级其功能时)都会非常繁忙。
就我所知,这是无穷无尽的。
在服务器端和localhost中解决此问题的方法是什么。
答案 0 :(得分:2)
这确实是一个问题。唯一的解决方案是:
在决定使用任何一种特定技术依赖之前,请研究是否计划弃用或不建议将来使用。 PHP人员非常善于在手册中指出这些内容,因此阅读php.net上的相关页面通常已经足够了。
PHP开发人员对他们的弃用过程非常了解,他们的大多数API的弃用过程非常缓慢。
然而,你需要留在球上。按照不常见的官方公告,了解变化的内容以及需要注意的地方。每个主要PHP版本的更改日志通常都值得研究。
如果您的系统上运行的代码经常更改而您没有这样做,则还需要注意主持人的通知。如果他们没有事先宣布重大变更,请寻找其他主持人。
构建您的错误处理程序,以便通过电子邮件通知您有关严重错误的信息。您可能希望包含一个脚本,该脚本会检查主要依赖项的可用性,并在它们丢失时通知您。
如果您有关键代码,则不应在无法为平台提供足够控制权的共享主机上运行它。运行自己的服务器并注意升级PHP。旧版本有一段时间会收到维护更新的原因。
通常,您有一个系统管理员来管理部署的代码和服务器,您应该与此人通信您需要从服务器获得的内容,如果服务器发生了一些重大更改,那么该人应该与您交谈。如果你是那个人,就像现在的许多系统开发者一样,你需要完成这部分工作。
答案 1 :(得分: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
此处宣布的所有更改在很多年前都被视为不良做法,因此现在没有人必须更改代码。
我希望这不再杀了你:)祝你好运