【问题标题】:Codeigniter Migration mysql to mysqli connection error [duplicate]Codeigniter将mysql迁移到mysqli连接错误[重复]
【发布时间】:2019-07-31 21:18:19
【问题描述】:

长期阅读,第一次海报,

在从 5.6 迁移到 php 7.2 托管环境后,我发现从我的应用程序 ping 网络服务时出现此错误:

PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in …system/database/drivers/mysql/mysql_driver.php

经过一些研究,这看起来像是 codeigniter 框架中的一个简单的单行修复: $db['default']['dbdriver'] = 'mysql'; 到:

$db['default']['dbdriver'] = 'mysqli';

当我在此更改后从应用程序发出服务器请求时,我的错误日志没有返回任何内容,但仍未像以前一样加载到应用程序中。我已阅读有关该主题的其他帖子,建议我需要进行其他 mysql->mysqli 更改,尝试在驱动程序文件中执行此操作也没有运气。

【问题讨论】:

  • 如果您从 5.6 切换到 7.2,您应该了解后果......在这里,一个简单的衬线无法解决您的问题 - 首先您必须提供有关您的 CI 版本的信息,下一步是关闭所有错误和警告消息 - 我很确定会出现大量错误和警告消息。 仍然没有像以前那样加载到应用程序中是什么意思?这些信息并没有真正的帮助。
  • CI 版本为 2.2。这是我希望能起作用的参考。 stackoverflow.com/questions/21540622/… 我从应用程序中发帖寻找服务器的响应 - 我使用“mysql”作为数据库配置收到错误消息,而“mysqli”则根本没有响应或错误消息
  • 您认为它只是您的数据库驱动程序 - 但那完全是错误的,还有很多其他问题(会话、驱动程序、..)。 CI2.2 大约在 4 年前达到 EOL - 你怎么能期望你的应用程序可以在 PHP 7.2 上运行? PHP 7.0 于 2015 年 12 月 3 日发布-此时 CI 2.2 已达到 EOL-升级 php 版本没有任何意义-您必须将 CI 版本升级到 3.1.10 @first... in简短的 CI 2.2 根本不兼容 PHP 7.2。
  • 我迁移服务器主要是为了在这个主机账户中的第二个应用程序。那个在新服务器上运行良好。引发的唯一错误是上面的这个引用。
  • 嘿嘿,欢迎投票 ;-)

标签: php mysql codeigniter mysqli migration


【解决方案1】:

在主机中将 PHP 版本更改为 5.6 比更改代码行更容易。需要在类似的工作场所工作。

【讨论】:

  • 在撰写此评论时,请尽量避免使用已达到 EOL(php.net/eol.php) 的软件的建议,php5.6 至少有 1 年零 5 个月没有维护
猜你喜欢
  • 2012-11-26
  • 2013-12-24
  • 1970-01-01
  • 1970-01-01
  • 2023-01-15
  • 2014-02-02
  • 1970-01-01
  • 2014-12-28
  • 1970-01-01
相关资源
最近更新 更多