PHP7以上版本已经废除了mysql函数库,故mysql_connect()函数已经无法使用。新的函数库mysqli及PDO可以完全取代该库。本文主要介绍两种库函数下,PHP与mysql的连接及遇到的问题。
经实验,所有内容在ubuntu18.04.3下也完全可以运行。
安装问题
PHP与mysql的连接使用apache+PHP+mysql,由于kali中已经预先安装好了各个部分,具体细节见参考资料:Kali安装Apache、MySQL、PHP。这里谈谈安装时需要注意问题,apache及mysql的安装一般不会出现问题,重点在PHP的安装。按上参考资料配置完成后,在/var/www/html文件夹下建立新文件index.php,内容如下:
开启apache,默认是开启的,如果不放心可以运行下列命令:
/etc/init.d/apache2 start
出现以下结果:
说明服务器已经开启,浏览器中输入地址:http://localhost/index.php,出现正常php配置信息:
页面中提供了PHP配置的详细信息及其已经安装的扩展模块,需要强调扩展模块!!!因为这可能造成一个非常常见的问题:PHP信息页面正常显示,静态PHP页面也可以显示,动态交互页面却是空白!,这往往是由于PHP对应的扩展模块没有安装导致的。如本次所需要用到的模块是mysqli和PDO(这两个库是独立的,只不过这里使用两个库分别实现PHP与mysql的连接),但是在最新的PHP版本中却不会默认安装mysqli库,这导致PHP页面中的mysql相关的函数不会执行,形成页面空白。查看PHP已经安装的扩展模块有两个方法:一是上面浏览器中显示的PHP配置信息,查找有关扩展模块