欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP开发中bcscale timezone charset的设定

程序员文章站 2022-07-02 16:54:14
关于php的开发,有几个细节设定,需要知悉下:在项目的init.php 或 index.php 或 api.php 1. bcscale(18); 表示bc函数,默认小数点位数。 没有设定的话,默认为0,表示整数结果处理。 会出现bcadd ,bcsub 等 截取值为整数。 之前有log出现后台强制 ......

关于php的开发,有几个细节设定,
需要知悉下:
在项目的init.php 或 index.php 或 api.php
1. bcscale(18);
表示bc函数,默认小数点位数。
没有设定的话,默认为0,表示整数结果处理。
会出现bcadd ,bcsub 等 截取值为整数。
之前有log出现后台强制放币时,balance值计算不对

2. date_default_timezone_set("asia/shanghai");
表示php处理时的时区设定
没有设定的话,默认为0时区,(或者有php的ini中配置)
上面设定的是东八区 上海
(该值后续有空时,会统一为0时区 ,mysql数据库也会修订为0时区,
页面栏位的时间再显示由页面根据本机时区再计算)

3. 'charset' => 'utf8mb4',
项目中php通过laravel 操作数据库,
相关传值的编码格式
$capsule = new \illuminate\database\capsule\manager;
$capsule->addconnection([
"driver" => 'mysql',
"host" => getenv("db_host"),
"port" => getenv("db_port"),
"database" => getenv("db_database"),
"username" => getenv("db_username"),
"password" => getenv("db_password"),
'charset' => 'utf8mb4',
]);
不设定该值时,前台页面输入的中文,存入mysql表后是乱码