当前软件和环境
目前安装的64位Wampserver,该软件已经内置集成所需要的。
php版本 -> php7.2.18
现在因教学需求 PHP操作数据库 – 连接数据库
PHP 5 及以上版本建议使用以下方式连接 MySQL :
- MySQLi extension (“i” 意为 improved)
- PDO (PHP Data Objects)
在 PHP 早期版本中我们使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。
首先需要配置数据库扩展
百度搜索配置mysqli的方法 基本都是在php.ini配置文件中
去除下面配置语句的注释”;” 注意 该文件注释 是英文分号;
extension=php_mysqli.dll
dll动态链接库 用来模块化程序的
但是你会发现配置文件中根本就没有这句话 ,不过有类似的
866行以下都是动态扩展 Dynamic Extensions
894行开始 都是 extension扩展 相关的 都是没有dll后缀
extension=mysqli
;extension=odbc
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
...
那么意味着已经不需要指定文件后缀名
仔细看看php.ini的配置文件,869~892 行之间对动态扩展的详细解释
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename
;
; For example:
;
; extension=mysqli
;
; When the extension library to load is not located in the default extension
; directory, You may specify an absolute path to the library file:
;
; extension=/path/to/extension/mysqli.so
;
; Note : The syntax used in previous PHP versions ('extension=<ext>.so' and
; 'extension='php_<ext>.dll') is supported for legacy reasons and may be
; deprecated in a future PHP major version. So, when it is possible, please
; move to the new ('extension=<ext>) syntax.
;
; Notes for Windows environments :
;
; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
; extension folders as well as the separate PECL DLL download (PHP 5+).
; Be sure to appropriately set the extension_dir directive.
;
大概意思如下就是遵循新的配置语法格式:
1、如果希望自动加载扩展名,请使用以下命令
语法:
扩展名=modulename
扩展名=mysqli
2、当要加载的扩展库不在默认扩展中时目录,可以指定库文件的绝对路径:
语法:
扩展名=/path/to/extension/mysqli.so
3、注意:以前的php版本中使用的语法
('extension=<ext>.so’和"extension=“php”<ext>.dll”)
由于传统原因而受支持,可能是在将来的php主版本中不推荐使用。所以,如果可能的话,请移到新的(‘extension=<ext>’)语法。
4、Windows环境的注意事项:
许多dll文件位于扩展名/(php 4)或扩展名/(php 5+)扩展文件夹以及单独的pecl dll下载(php 5+)。
确保正确设置extension_dir指令。
配置文件中所有目录和路径的地点713行Paths and Directories
其中动态扩展的路径配置在 738~743行
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
; extension_dir = "ext"
extension_dir ="c:/wamp64/bin/php/php7.2.18/ext/"
所有的扩展都在ext文件夹下 如下图:
注意:
- 未使用相对路径 暂未测试 也不建议用
- 由于我的本是surface只有C盘 故此处目录在C盘下
- 大家请自行参照 输入自己扩展文件所在位置
测试连接 可以使用函数phpinfo() 查看
<?php
//查看扩展是否开启
phpinfo();
?>
访问后如果显示以下界面,代表配置成功开启,阁下可以愉快的玩耍了
言而言之只需要主要三个方面:
1、直接去掉;extension=mysqli;前面注释;
2、不要dll后缀名
3、配置扩展文件所在路径
extension_dir的路径应为绝对路径,如
extension_dir = “C:\wamp64\bin\php\php7.2.18\ext”