在Sublime下,配置php解释环境,实现使用php连接mysql
作者需要完成图书管理系统的数据库实验,最后决定用php实现连接数据库。在使用XAMPP或WAMP之前,在sublime上搭建轻量环境,从底层进行配置,检测能否用php连接上mysql。
前期准备:
安装Sublime, php, mysql
*已安装并配置好sublime 3, mysqlserver 5.7,作者从下载php (7.2.4)开始
1.php(mysql)环境变量设置
添加环境变量:php.exe所在文件目录
测试
2.sublime配置php编译环境
Tools -> Build System ->New BuildSystem输入代码如下:
{
"cmd": ["php", "$file"],
"file_regex": "php$",
"selector": "source.php"
}
保存,使用该环境
测试:
3. php.ini文件配置
# error:在以上操作完成后,进行连接,发现报错mysqli_connect出现问题:
Fatalerror: Uncaught Error: Call to undefined function
查到资料,我们还需要配置.ini文件
3.1
发现php目录没有.ini,而是.ini_development, .ini_production
查到资料如下:
由于版本更新,这些文件有了新的命名:
php.ini-production对应于php.ini-recommended;php.ini-development对应于php.ini-dist通常要将php.ini-dist或php.ini-recommended重命名为php.ini。
根据说明,二者不同之处在于php.ini-dist 适合开发程式使用(测试用),而 php.ini-recommended 拥有较高的安全性设定,则适合上线当产品使用。我一般将php.ini-recommended或者新的php.ini-production修改为php.ini,确保测试环境(本地)与正式环境(线上)一致。
3.2
将.ini_production文件备份,重命名为.ini,打开配置文件进行修改。
网上资料如下:
取消以下配置参数前面的分号
extension_dir =".\ext" #设置php模块路径为同目录下ext文件夹
register_globals= On #开启GET数据调用
short_open_tag =On #php支持短标签
cgi.force_redirect= 0 #开启以CGI方式运行php
fastcgi.impersonate= 1
cgi.rfc2616_headers= 1
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
实际操作中发现3个问题及解决:
(1)第一条:extension_dir=".\ext",在7.2.4的配置文件中显示为3行:
; extension_dir = "./"
; Onwindows:
; extension_dir= "ext"
将三行前面的; 全部移除
(2)register_glaobals特性已被移除
此选项已经被PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除;
(3)后四条extension的配置中有一条Note说明:
; Note : The syntax used in previous PHPversions ('extension=<ext>.so' and
; 'extension='php_<ext>.dll') issupported 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.
因而后四条移出以下3句前的分号,无需在名字中加.dll:
; extension=php_mbstring
; extension=php_mysqli
; extension=php_pdo_mysql
(php_mysql已不被支持)
3.3测试:
测试是否能够连接数据库,使用mysqli_connect()。其中三个参数分别是servername(default localhost:3306),username,password;
Succeed.
至此我们已实现在sublime下用php连接mysql。