|
发表于 2018-3-5 18:32:51
|
显示全部楼层
大家好,我曾经是ASP.NET MVC的开发者,现在是PHP,同时也是CodeIgniter框架的初学者和践行者,当时由于项目原因,我被迫给自己打满鸡血,满怀激情的选用Yii2,Lavarel5,CodeIgniter等PHP框架进行项目开发,同你一样被"Call to undefined function mysqli_init()"这个小问题折磨得挠头骚耳,找遍各大论坛依然找不到问题之所在,差点铩羽而归(当时我也按照论坛的提示做了,发现都没有用),好的屁话不多说,现在由我直入正题说一说解决方法,同时说一说当时我是怎么解决以上的问题的。
如果你是安装WampServer 3.0.4作为集成开发环境的,当你安装完集成环境后,请自行检查一下 localhost/phpmyadmin 这个后台是否能打开,还是会报各种Fatal error,如果遇到Fatal error就只能说明一个问题,这个WampServer是坏的!!!,无论你后面怎么配置你的项目的dasebase.php文件都没用,而且更坑的是当时网页只显示Call to undefined function mysqli_init()这个问题,没有更多问题提示你该怎么做。
直到我重装系统,后面选择安装phpstudy之后,发现我居然能打开phpmyadmin,于是我重新打开浏览器并输入项目URL,发现页面提示的错误又多了一些内容,例如
A PHP Error was encountered
Severity: Warning
Message: mysqli::real_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: NO)
Filename: mysqli/mysqli_driver.php....
当时我也不知怎么的,自己又在网上搜索一下又参考《phpmyadmin安装及其配置》的文章后,发现自己项目中的database.php没有配置正确,当时我安装完集成开发环境之后,或许你跟我一样没有配置phpmyadmin,还以为phpmyadmin的账户是root,密码是空
最后我将$db['default'] = array(...'username' => 'root','password' => '',...);改为$db['default'] = array(
...'username' => 'root','password' => 'root',...)。重新打开浏览器并输入项目的URL,Success(成功)!!!
总结:自己安装完集成开发环境后,请检查一下phpmyadmin后台程序是否能打开,还有请各位从其他编程语言乱入到PHP的小伙伴们要一定记住phpmyadmin的账户密码不为空,而是root!!!(也就是phpmyadmin的账户名为root,密码也为root)
遇到上面的这个问题的人,俺掐指一算,发现有80%到90%的可能是由于你从其他编程开发语言开发得好好的,然而由于其他什么原因被直接乱入到PHP的,同我一样,自己不会逐个安装PHP,Apache和MySQL,而是直接选用,安装并使用诸如WampServer,apmserv、xampp、PHPWAMP等集成开发环境,哪知道集成开发环境背后隐藏如此之多的坑正等着可爱的你去进行解决。
遇到Call to undefined function mysqli_init()这个问题或许你同我一样被折磨的日夜不休的,重燃自信心不知被浇灭了多少回,甚至重装系统后发现问题依然原封不同的保留在那里,当时气得我直摔键盘鼠标(因为电脑太贵),仰天长啸,甚至怀疑是不是由于平时自己对电脑太粗暴的问题。
是的学编程不难,但难得是你要入门之前要进行各种各样,又奇形怪状,同时毁你自信心的配置安装操作,且由于时间紧迫要快速上手,(真心累哇。嗯嗯,我想说的是其实遇到困难不可怕,但遇到困难后,你发现人家给你的时间又不是很充足,同时自己总找不到问题解决方案,且后面有人一直在催你几点项目要发布哇,bala,bala,快点搞定,相信你的内心是崩溃的,正如 洛天依 的一首 未来程序员之歌 最后几句所说的一样 程序员苦逼呀,程序员苦逼呀,程序员苦逼呀,我是程序员呀...... )
如果各位看到这个回复的伙伴们遇到Call to undefined function mysqli_init()这个问题还是解决不了,可以继续回复本贴,你我一同探究进步。 |
|