FastAdmin 支持 php7.4 的教程

FastAdmin 支持 php7.4 的教程

从安装到运行,一条龙走到底。

作者:Violet_Ice紫冰

日期:2020-12-01

1. 前置

默认你们已经安装了 NodeJSComposer

php命令行版本:7.4.*

ThinkPHP:5.0.24

1.1. 下载安装

>表示执行命令

# 设置过国内镜像源的请忽略
> npm config set registry https://registry.npm.taobao.org

# 安装过bower的请忽略
> npm i -g bower

# 安装FastAdmin
> git clone https://gitee.com/karson/fastadmin.git fa_test
> cd fa_test
> bower install
> composer install

1.2. 运行访问

# 启动FastAdmin
> php -S 127.0.0.1:8080 -t public
[Tue Dec  1 19:35:46 2020] PHP 7.4.13 Development Server (http://127.0.0.1:8080) started
# 出现如上所述,表示 php 内置 Server 启动成功

打开浏览器,访问http://127.0.0.1:8080出现安装页面。

2020-12-01_1.jpg

2. 安装

数据库,管理员信息填写完成,点击安装。出现如下所述。

2020-12-01_3.jpg

php7.4开始不再支持使用花括号 {} 来访问数组和字符串成员。

出现问题就要解决,把 {} 改成 [] 就可以了。那么改那个文件呢?

引用一下我的开发三步走,后来人就可以站在前辈们铺好的路上了。

第一步,debug

第二步,看文档

第三步,翻源码

2.1. 开启debug

> cp .env.sample .env

编辑.env,改成如下内容。

[app]
debug = true
trace = true

[database]
# hostname = 192.168.1.101
# database = fastadmin
# username = root
# password = root
# hostport = 3306
# prefix = fa_

2.2. 找到错误位置

编辑application/admin/command/Install.php: 132-138行

try {
    $adminName = $this->installation($mysqlHostname, $mysqlHostport, $mysqlDatabase, $mysqlUsername, $mysqlPassword, $mysqlPrefix, $adminUsername, $adminPassword, $adminEmail, $siteName);
} catch (\PDOException $e) {
    throw new Exception($e->getMessage());
} catch (\Exception $e) {
    \think\Log::error($e); // 在这里打印错误日志
    return $output(0, $e->getMessage());
}

日志如下:

[ error ] think\exception\ErrorException::__set_state(array(
   'severity' => 8192,
   'data' => array (),
   'message' => 'Array and string offset access syntax with curly braces is deprecated',
   'string' => '',
   'code' => 0,
   'file' => 'thinkphp/library/think/db/Query.php',
   'line' => 400,
   // 后面的就可以忽略了

message和安装页的错误提示是一样的

错误位置是thinkphp/library/think/db/Query.php的400行。

2020-12-01_4.jpg

找到就可以修改了,把 {} 改成 [] 即可。

2.3. 安装成功

修改完后不用刷新页面,直接点击安装。安装成功!

2020-12-01_7.jpg

3. 结尾

简单的用了一下,暂时还没发现别的问题。稳定性待测。

FastAdmin 支持 php7.4 教程完毕

Violet_ice紫冰 写于 2020-12-1 21:12:26

本作品采用《CC 协议》,转载必须注明作者和本文链接
Violet_Ice紫冰,一个忙于工作,没有时间录视频的 UP
Violet_Ice紫冰
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!