本文目录一览:
php不支持mysql,怎么办
去php.ini 中打开 mysql 模块 具体php.ini路径可以在页面上 echo phpinfo() 查到
PHP无法连接mysql
用户名密码不对。
如果你是在本地测试,有数据库管理权限,可以查看下有没有 bookhbw这个用户
select * from mysql.user
如果没有可以新建用户,或者在代码里直接使用root账户及密码连接(测试环境无所谓,如果是正式环境,一定要单独建一个用户,分配对应数据库的权限 )
-- 创建用户
create user bookhbw@'localhost' identified by '密码';
-- 授权用户指定的数据库权限
GRANT ALL PRIVILEGES ON 数据库名.* TO 'bookhbw'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
如果你的数据库中已经有这个账户,看下这个账户设置的Host 是localhost还是ip 还是 %
如果是ip 或者 % 则连接的服务器地址只能写ip 不能写localhost (可以新建一个同名用户绑定localhost)
以上情况,你根据自己的软件 配置,自行设置一下
php为什么弃用了mysql
PHP提供了三种不同的api连接到MySQL,这三种api是:mysql, mysqli以及PDO扩展。MySql函数是非常受欢迎的,但是官方团队并不鼓励再使用它们。在php手册里边,当你看到关于Mysql的函数,会发现都标有红色的标志,那意味着它们已经被弃用了。弃用ext/mysql函数不仅安全,而且使用其他数据库查询方法可以同样具有MySQL函数的所有功能。更好的方法是使用PDO代替ext/mysql函数。
以下是PHP里不应该再使用mysql函数的3大原因:
1、mysql函数已在PHP5.5中正式弃用,并将在PHP7中被删除。
2、mysql函数缺少面向对象的接口。
3、mysql函数不支持以下特性:
php不支持mysqli,有什么办法生成mysqli.so,该怎么处理
1、进入php源码包里找到pcntl扩展目录
[root@php ~]# cd ./php-5.6.7/ext/mysqli/
2、用phpize生成配置文件
[root@php pcntl]# phpize
[root@php pcntl]# ./configure
3、make make install安装
[root@php no-debug-non-zts-20131226]# ls
bcmath.so gd.so opcache.a mysqli.so
calendar.so mcrypt.so opcache.so pdo_mysql.so
curl.so memcache.so openssl.so posix.so
4、php.ini配置加载mysqli.so扩展
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/mysqli.so
5、重启php-fpm,浏览器查看phpinfo.