当我运行 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-autoload
和composer 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'(;