Bso*_*sos 14 mysqli codeigniter server
我刚刚更改了服务器并遇到以下错误:
Fatal error: Call to undefined function mysqli_init() in /home/blacktwitter/public_html/system/database/drivers/mysqli/mysqli_driver.php on line 126
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home/blacktwitter/public_html/system/database/drivers/mysqli/mysqli_driver.php:126)
Filename: core/Common.php
Line Number: 564
Backtrace:
A PHP Error was encountered
Severity: Error
Message: Call to undefined function mysqli_init()
Filename: mysqli/mysqli_driver.php
Line Number: 126
Backtrace:
Run Code Online (Sandbox Code Playgroud)
网站在Codeigniter.它可以很好地在一台服务器上运行,也可以在本地机器上运行.但是,当我在新服务器上传该网站时,我有错误.当然我改变了重要的参数,如数据库连接,base_url()等.
我对数据库很怀疑,但我创建了一个新的数据库和用户等,并更改了连接信息.
为什么会这样?知道它是服务器上还是网站上的错误会很有帮助.另外,当我用一些测试代码创建一些index.html时,一切都很好.
jpg*_*z18 20
它不是你的应用程序中的错误,它只是一个缺少的驱动程序,所以,你有几个选项......
转到您的php init并取消注释以下内容:
extension=php_mysqli.dll
Run Code Online (Sandbox Code Playgroud)
如果没有,请尝试在您的服务器上安装它,具体取决于您的分发.
尝试安装 php5-mysqlnd
如果你不能通过托管限制来实现它,那么只需转移到mysql驱动程序(不需要在CodeIgniter或其他任何东西中更改其他配置或查询......)
像这样(在你的配置文件中)
$db['default']['dbdriver'] = 'mysql'; (you might have mysqli now)
Run Code Online (Sandbox Code Playgroud)
Jam*_*sBB 16
我只是在这个问题上ubuntu16.04,php7.1安装有Codeigniter 3.
解决方案很简单(如果很难找到!)
sudo apt-get install php7.0-mysql
Run Code Online (Sandbox Code Playgroud)
我意识到mysql*.ini目录中缺少的etc/php/7.1/mods-available文件.不确定它是怎么发生的,但这对我有用.
如果使用7.2,只需键入即可 sudo apt-get install php7.2-mysql
这实际上不是 CodeIgniter 问题,而是 PHP 安装问题。
我已经在我的 Linux 服务器中安装了 PHP5.6,并且很难遵循使用 ff 命令的 googled 解决方案,以便在 PHP 中安装缺少的 mysqli_extension。
我尝试的是但返回警告消息:无法找到包 php5-mysqli
sudo apt-get install php5-mysqli
Run Code Online (Sandbox Code Playgroud)
但是,我的 php 版本是 5.6 所以我试过了
sudo apt-get install php5.6-mysqli
Run Code Online (Sandbox Code Playgroud)
然后它起作用了。
小智 6
用这个:
sudo apt-get install php7.*-mysqli
Run Code Online (Sandbox Code Playgroud)
要么
sudo phpenmod mysqli
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
小智 0
对我来说这是php.ini中缺少的一行 that solved it, as I copied another php.ini file to my XAMPP installation.
Worth checking if the line: "extension=php_mysqli.dll" exist (if running Windows, but this isn't applicable for OP, as it's a Linux system), or if the "extension_dir" exists and is correct.