PHP7下PHPMYADMIN给出一堆DEPRECATION NOTICE
PHP7出来有很长一段时间了,很多小伙伴的服务器也都升级到了PHP7,然而,有些朋友发现原来正常的PHPMYADMIN在PHP升级后出现了异常,一访问页面,就爆出一堆像下面这样的DEPRECATION提示,虽然也不影响功能的使用,但每个页面都弹出DEPRECATION NOTICE,很影响心情。
- Deprecation Notice in ./../php/php-gettext/streams.php#48
- Methods with the same name as their class will not be constructors in a future version of PHP; StringReader has a deprecated constructor
- Backtrace
- ./../php/php-gettext/gettext.inc#41: require()
- ./libraries/select_lang.lib.php#477: require_once(./../php/php-gettext/gettext.inc)
- ./libraries/common.inc.php#569: require(./libraries/select_lang.lib.php)
- ./index.php#12: require_once(./libraries/common.inc.php)
考虑到是NOTICE,很自然的想法就是到PHP.INI里把ERROR LOG关掉,关掉后PHPMYADMIN页面的DEPRECATION NOTICE就消失了,但这样子一来,所有的错误就都看不到了,这不是我们想要的结果。
经过一番调查,小卓找到了一个简单有效的方法,就是把PHPMYADMIN和它的依赖模块都卸了再重新装一遍,命令如下:
- sudo apt-get remove –purge phpmyadmin php-gettext php-mbstring -y
- sudo apt-get autoremove -y
- sudo apt-get update
- sudo apt-get install phpmyadmin php-gettext php-mbstring -y
这样PHPMYADMIN页面的DEPRECATION NOTICE就消失了,同时也不会屏蔽掉服务器原有的ERROR LOG设置。