【问题标题】:Migrating from PHP 5.4 to PHP 5.6 (CodeIgniter code)从 PHP 5.4 迁移到 PHP 5.6(CodeIgniter 代码)
【发布时间】:2017-12-29 17:12:41
【问题描述】:

目前,我正在使用 php 5.4,并希望迁移到 5.6 和 PHP 7。我正在检查托管在我的服务器上的代码,并意识到 CodeIgniter 代码可能已过时。

@ini_get("安全模式")

因为根据我的搜索,safe_mode 不再受支持和弃用。

我不确定那个 CodeIgniter 代码。所以想请大家确认一下是不是过时了。如果是,解决方法是什么?

示例(部分代码):

/*
 * ------------------------------------------------------
 *  Set a liberal script execution time limit
 * ------------------------------------------------------
 */
 if (function_exists("set_time_limit") == TRUE AND @ini_get("safe_mode") == 0)
 {
    @set_time_limit(300);
 }

【问题讨论】:

  • 你使用的是哪个 CI 版本?
  • 2.1.3.该网站由其他开发商开发。我不熟悉 Codeigniter
  • 今天的最新版本是3.1.5,我没有发现关于safe_mode的任何问题..查看网络https://codeigniter.com/
  • 这意味着我仍然可以使用该代码?因为还有其他部分也实现了 safe_mode。
  • 在 localhost 中,为 vagrant 环境提供您想要的功能。移动您的网站并检查您遇到了哪些错误。一次修复一个。

标签: php codeigniter server hosting php-safe-mode


【解决方案1】:

从 PHP 的角度来看,@ini_get 是一个获取配置选项的函数。如果没有找到配置名称,则返回 FALSE,如文档中的 here 所示

所以,当您更新到 PHP 5.6 或 PHP 7 时,是的它已经过时,但不会导致错误。只是 CodeIgniter 会以不同的方式处理事情。

【讨论】:

  • 不客气.. 你知道吗,接受答案会给你带来声望点?? :),此外它也会帮助其他有类似问题的人.. :)
【解决方案2】:

如果您使用的是最新版本的 CodeIgniter(最新版本为 3.1.x),那么应该没有问题。您在那里共享的代码确实看起来有点......遗留,这可能是一个旧版本。我建议您查看项目文档并检查您是否可以从您的版本升级到最新版本,然后可以使用更新版本的 PHP。

【讨论】:

  • Codeigniter 版本是 2.1.3,网站是 2014 年开发的。但是我看到有一些备份代码,例如 if (! is_php('5.3')){ @set_magic_quotes_runtime(0); // Kill magic quotes} 我认为这些代码可能会有所帮助。
猜你喜欢
  • 2020-01-14
  • 1970-01-01
  • 2017-04-11
  • 2019-10-14
  • 1970-01-01
  • 2010-12-26
  • 1970-01-01
  • 2012-09-14
  • 1970-01-01
相关资源
最近更新 更多