Php 工匠迁移 - 意想不到的"字符串"(T_STRING)



当我运行 php artisan migrate以在laravel中为我的数据库制作表时,我会收到以下错误:

 [SymfonyComponentDebugExceptionFatalThrowableError]
 Parse error: syntax error, unexpected 'string' (T_STRING), expecting variable (T_VARIABLE)

我认为这个错误是无用的

由于第一个迁移没有在我的数据库中生成单个表,因此迁移似乎失败了。

这是迁移(用户 ->由PHP Artisan Make生成:auth(:

<?php
use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;
class CreateUsersTable extends Migration
{
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->string('avatar');
            $table->rememberToken();
            $table->timestamps();
        });
    }
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

这只是带有一条新行的默认迁移。我找不到这是怎么回事。我已经尝试了composer dump-autoloadcomposer clearcache,但是什么都没有。

我希望有人知道解决方案。

编辑:它似乎是在第一次迁移运行之前发生的。有一个文件可能出了问题吗?

您可以在此处阅读我的laravel.log文件:https://pastebin.com/1prdwady

它从堆栈跟踪看起来好像您可能已经意外编辑了string()的函数定义: C:xampphtdocsurenlijstjevendorlaravelframeworksrcIlluminateDatabaseSchemaBlueprint.php:473

变量名之一可能缺少$向PHP解析器表明它确实是一个变量。

这是代码线,因为它应该在Laravel 5.4中。

在这种情况下,框架无法启动,我经常将问题追溯到这样的无意进行编辑。由于您的vendor目录不在源控件中(或至少不应该是!(,因此另一个选择是rm -rf vendor && composer install,看看是否可以解决您的问题。

我在这里看到的唯一错误是avatar。显然没有avatar类型,因此可能应该是:

$table->string('avatar');

如果您仍然看到错误,请验证确切的行并确保您正在运行PHP的有效版本(应为5.6 (。

如果没有帮助,请尝试留下空的up方法以验证错误是否仍然存在。它可能位于不同的申请地点(例如ServiceProvider(,而不是直接在此迁移中。

是这个$ table-> avatar('password'(;应该是$ table-> string('avatar'(;

相关内容

  • 没有找到相关文章

最新更新