Laravel 5.5 注意事项和常见问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lamp_yang_3533/article/details/80891180

config/app.php 配置文件

修改 config/app.php 中的时区 timezone 配置:

'timezone' => 'Asia/Shanghai',

请将时区修改为你当前所在的时区。

.env 环境变量配置文件

该文件非常重要,里面存储着和开发环境相关的变量配置,比如数据库配置。

请及时将数据库配置修改为和你的开发环境相关的配置。

注意: 请勿滥用 .env 环境变量配置文件,和环境无关的变量就不要存放在该文件中,而应存放到 config 目录中的对应文件。

php artisan migrate 命令

Laravel 默认使用 utf8mb4 字符集,它支持直接在数据库存储表情等。

如果你使用的 MySQL 版本低于5.7.7 或 MariaDB 版本低于10.2.2 ,迁移时会导致 MySQL 创建索引时出错。

可能出现下面的错误提示:

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

解决方法:

你可以手动配置迁移生成的默认字符串长度。修改 app/Providers/AppServiceProvider.php 文件:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(191);
    }

常见问题

DateTime 异常

报错信息:

DateTime::__construct(): Failed to parse time string (2018-03-12 07:57:45.-353038) at position 24 (0): Unexpected character

解决方法:

修改 vendor/nesbot/carbon/src/Carbon/Carbon.php 文件,大概在 399 行。

在这行代码

$time = $dateTime->format(static::DEFAULT_TO_STRING_FORMAT).'.'.$microTime;

的上面,加上一行代码:

$microTime = substr($microTime, 0, 4);

主要是 $time 字符串解析出了问题,如果还是不行的话,你就不要拼接后面的 $microTime 。

猜你喜欢

转载自blog.csdn.net/lamp_yang_3533/article/details/80891180