License: Attribution-NonCommercial-ShareAlike 4.0 International
本文出自 Suzf Blog。 如未注明,均为 SUZF.NET 原创。
转载请注明:http://suzf.net/post/722
昨天刚把 php 的错误日志打开,今天看自己以前写的 监控网站访问量的 demo 就一片空白了 一片空白了 一片空白了。
手动执行了下 数据采集的 data_access.php 发现有一个警告信息输出:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
这个警告把原本的数据结构给打乱了,所以会出现 demo 的空白。
从提示很明显可以看出 mysql 扩展模块将在将来弃用,可以使用 mysqli 和 PDO 来代替。
Case A:
将 mysql 替换为 mysqli
-$conn = mysql_connect("db-hostname","dnuser","password","dbname"); +$conn = mysqli_connect("db-hostname","dbuer","password","dbname"); -if (!$conn) { - die('Could not connect: ' . mysql_error()); +/* check connection */ +if (mysqli_connect_errno()) { + printf("Connect failed: %s\n", mysqli_connect_error()); + exit(); }
官方文档 http://www.php.net/manual/zh/mysqli.query.php
Case B:
将错误日志关闭
display_errors = On
改为
display_errors = Off
Case C:
在php程序代码里面设置报警级别
error_reporting(E_ALL ^ E_DEPRECATED);
这样 Deprecated 这个问题就解决了。 不过还是推荐 使用 mysqli 或是 PDO 替代老旧的 mysql. 毕竟是趋势嘛。