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) Path | C:\WINDOWS |
Loaded Configuration File | (none) |
发现问题了,C:\WINDOWS下也没有php.ini,Loaded Configuration File也是空的。
解决方案
在安装php的根目录里找到php.ini-development文件(php.ini-production,看名字,就知道这个是生产环境下配置的),将其重新命名为php.ini,去掉extension=php_mysql.dll和extension=php_mysqli.dll前的分号;
所有的扩展文件都位于php根目录下的ext文件夹中,在该文件夹中查看是否有php_mysql.dll和php_mysqli.dll两个文件;
然后在php.ini中查看extension_dir=“your path”前的分号是否去掉,如果没有,去掉前面的分号;
最后,将php.ini文件复制到C:\windows目录下,并将php_mysql.dll和php_mysqli.dll两个文件复制到C:\Windows\System32目录下;
重启服务;
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操作