在一个新的laravel安装中,我已经包含了几个自定义构建包。当我执行
时,这些包正在编写他们的迁移文件php artisan vendor:publish
然而现在这会产生以下错误
[League\Flysystem\FileNotFoundException] File not found at path: 016_01_29_094442_create_xxxxx_2_f_a_tokens_table.php
这并不奇怪,因为实际的文件名是:2016_01_29_094442_xxxxx_2_f_a_tokens_table.php
这就是我的ServiceProvider的样子:
class TwoFAServiceProvider extends ServiceProvider {
---- SNIP -----
public function boot() {
---- SNIP -----
$this->publishMigrations();
}
public function publishMigrations() {
$this->publishes([
__DIR__ . '/../../migrations/' => base_path('/database/migrations'),
], 'migrations');
}
}
有人知道为什么会发生这种情况,而昨天这种情况完美无缺吗?
- 编辑 -
问题是在补丁版本中对League \ Flysystem进行了更新,他们对路径检查进行了更严格的限制,并在更新中恢复,因此没有人应该解决此问题。
答案 0 :(得分:1)
有同样的问题。您应该在路径中使用反斜杠,具体取决于您的文件系统。看看是否有效:
public function publishMigrations() {
$this->publishes([
__DIR__ . '\..\..\migrations\\' => base_path('database\migrations'),
], 'migrations');
}