php7使用mysql扩展程序,Uncaught Error: Call to undefined function mysql_connect() in xxx
2022-07-28 15:20:24
147
{{single.collect_count}}

php版本号

C:\Users\aaron>php -versionPHP 7.1.10 (cli) (built: Sep 26 2017 20:04:32) ( ZTS MSVC14 (Visual C++ 2015) x64 )Copyright (c) 1997-2017 The PHP GroupZend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

执行数据库链接代码

这代码害人了,v7版本已经不能用

<?phpphpinfo();$conn = mysql_connect("127.0.0.1","root","");mysql_error();?>

用下面这个

<?phpphpinfo();$mysqli = new mysqli("localhost", "root", "root", "cms_php");if(!$mysqli){echo"database error";}else{echo"php env successful";}$mysqli->close();?>

参考:http://blog.csdn.net/liu_xueping/article/details/52251067

问题

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in E:/…

这说明是链接mysql数据库出现了问题

我们运行phpinfo();查看下php以下2项配置

Configuration File (php.ini) PathC:\WINDOWS
Loaded Configuration File(none)

发现问题了,C:\WINDOWS下也没有php.ini,Loaded Configuration File也是空的。

解决方案

  1. 在安装php的根目录里找到php.ini-development文件(php.ini-production,看名字,就知道这个是生产环境下配置的),将其重新命名为php.ini,去掉extension=php_mysql.dll和extension=php_mysqli.dll前的分号;

  2. 所有的扩展文件都位于php根目录下的ext文件夹中,在该文件夹中查看是否有php_mysql.dll和php_mysqli.dll两个文件;

  3. 然后在php.ini中查看extension_dir=“your path”前的分号是否去掉,如果没有,去掉前面的分号;

  4. 最后,将php.ini文件复制到C:\windows目录下,并将php_mysql.dll和php_mysqli.dll两个文件复制到C:\Windows\System32目录下;

  5. 重启服务;

PHP v7版本弃用的扩展程序

https://stackoverflow.com/questions/34903896/what-happened-to-php-mysql-dll

https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7

不推荐使用以下扩展程序
ext/ereg (since PHP 5.3; use ext/pcre instead) REMOVED (PECL extension)
ext/mysql (since PHP 5.5; use ext/mysqli or ext/pdo_mysql instead) REMOVED (PECL extension)

所以呢,上面的解决方案中的php_mysql.dll是找不到的了,我们就用php_pdo_mysql.dll替换上述的php_mysql.dll操作

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}