我在运行laravel,我的页面给了我一个实质性的错误。唯一的问题是,我没有运行任何字符串转换命令什么的.
我甚至尝试从tpl文件中删除所有代码,并且我得到了错误,但是当我删除呈现()函数的循环并将$output (刀片模板遍历的信息)设置为$output=[];时,我就不会得到错误。( PS:是现场直播)
但是,奇怪的是,如果我完全删除构建$output的循环,就不会得到错误。但是,如果我只是手动设置$output = [],这将产生与删除循环相同的结果。然后得到子字符串错误。
老实说,模式没有意义,下面的错误消息日志也没有意义.我完全迷茫和沮丧..。有人能帮我理解我为什么要收到这条短信吗?
<!doctype html>
<html class="theme-light">
<!--
Facade\Ignition\Exceptions\ViewException: substr() expects parameter 1 to be string, object given (View: C:\xampp\htdocs\mws\resources\views\user\filemanager\index.blade.php) in file C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Support\Str.php on line 222
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'substr() expect...', 'C:\\xampp\\htdocs...', 222, Array)
#1 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Support\Str.php(222): substr(Object(Illuminate\Filesystem\FilesystemAdapter), -6)
#2 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\DatabaseManager.php(103): Illuminate\Support\Str::endsWith(Object(Illuminate\Filesystem\FilesystemAdapter), Array)
#3 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\DatabaseManager.php(77): Illuminate\Database\DatabaseManager->parseConnectionName(Object(Illuminate\Filesystem\FilesystemAdapter))
#4 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(1653): Illuminate\Database\DatabaseManager->connection(Object(Illuminate\Filesystem\FilesystemAdapter))
#5 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(1619): Illuminate\Database\Eloquent\Model::resolveConnection(Object(Illuminate\Filesystem\FilesystemAdapter))
#6 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasAttributes.php(1212): Illuminate\Database\Eloquent\Model->getConnection()
#7 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasAttributes.php(1124): Illuminate\Database\Eloquent\Model->getDateFormat()
#8 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasAttributes.php(189): Illuminate\Database\Eloquent\Model->asDateTime('2021-11-14 22:5...')
#9 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasAttributes.php(151): Illuminate\Database\Eloquent\Model->addDateAttributesToArray(Array)
#10 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(1485): Illuminate\Database\Eloquent\Model->attributesToArray()
#11 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasAttributes.php(319): Illuminate\Database\Eloquent\Model->toArray()
#12 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(1485): Illuminate\Database\Eloquent\Model->relationsToArray()
#13 C:\xampp\htdocs\mws\vendor\livewire\livewire\src\HydrationMiddleware\HydratePublicProperties.php(229): Illuminate\Database\Eloquent\Model->toArray()
#14 C:\xampp\htdocs\mws\vendor\livewire\livewire\src\HydrationMiddleware\HydratePublicProperties.php(209): Livewire\HydrationMiddleware\HydratePublicProperties::filterData(Object(App\Http\Livewire\Filemanager), 'selectedUser')
#15 C:\xampp\htdocs\mws\vendor\livewire\livewire\src\HydrationMiddleware\HydratePublicProperties.php(102): Livewire\HydrationMiddleware\HydratePublicProperties::dehydrateModel(Object(App\Models\User), 'selectedUser', Object(Livewire\Response), Object(App\Http\Livewire\Filemanager))
#16 [internal function]: Livewire\HydrationMiddleware\HydratePublicProperties::Livewire\HydrationMiddleware\{closure}(Object(App\Models\User), 'selectedUser')
#17 C:\xampp\htdocs\mws\vendor\livewire\livewire\src\HydrationMiddleware\HydratePublicProperties.php(130): array_walk(Array, Object(Closure))
#18 C:\xampp\htdocs\mws\vendor\livewire\livewire\src\LifecycleManager.php(141): Livewire\HydrationMiddleware\HydratePublicProperties::dehydrate(Object(App\Http\Livewire\Filemanager), Object(Livewire\Response))
#19 C:\xampp\htdocs\mws\vendor\livewire\livewire\src\LivewireManager.php(106): Livewire\LifecycleManager->initialDehydrate()
#20 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php(261): Livewire\LivewireManager->mount('filemanager')
#21 C:\xampp\htdocs\mws\resources\views/user/filemanager/index.blade.php(10): Illuminate\Support\Facades\Facade::__callStatic('mount', Array)
#22 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Filesystem\Filesystem.php(107): require('C:\\xampp\\htdocs...')
#23 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Filesystem\Filesystem.php(108): Illuminate\Filesystem\Filesystem::Illuminate\Filesystem\{closure}()
#24 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\View\Engines\PhpEngine.php(58): Illuminate\Filesystem\Filesystem->getRequire('C:\\xampp\\htdocs...', Array)
#25 C:\xampp\htdocs\mws\vendor\livewire\livewire\src\ComponentConcerns\RendersLivewireComponents.php(35): Illuminate\View\Engines\PhpEngine->evaluatePath('C:\\xampp\\htdocs...', Array)
#26 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\View\Engines\CompilerEngine.php(61): Livewire\CompilerEngineForIgnition->evaluatePath('C:\\xampp\\htdocs...', Array)
#27 C:\xampp\htdocs\mws\vendor\facade\ignition\src\Views\Engines\CompilerEngine.php(37): Illuminate\View\Engines\CompilerEngine->get('C:\\xampp\\htdocs...', Array)
#28 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\View\View.php(139): Facade\Ignition\Views\Engines\CompilerEngine->get('C:\\xampp\\htdocs...', Array)
#29 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\View\View.php(122): Illuminate\View\View->getContents()
#30 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\View\View.php(91): Illuminate\View\View->renderContents()
#31 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Http\Response.php(69): Illuminate\View\View->render()
#32 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Http\Response.php(35): Illuminate\Http\Response->setContent(Object(Illuminate\View\View))
#33 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Routing\Router.php(794): Illuminate\Http\Response->__construct(Object(Illuminate\View\View), 200, Array)
#34 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Routing\Router.php(763): Illuminate\Routing\Router::toResponse(Object(Illuminate\Http\Request), Object(Illuminate\View\View))
#35 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Routing\Router.php(695): Illuminate\Routing\Router->prepareResponse(Object(Illuminate\Http\Request), Object(Illuminate\View\View))
#36 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(128): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#37 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Routing\Middleware\SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#38 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#39 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Auth\Middleware\Authenticate.php(44): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#40 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Auth\Middleware\Authenticate->handle(Object(Illuminate\Http\Request), Object(Closure))
#41 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#42 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#43 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\View\Middleware\ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#44 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#45 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Session\Middleware\AuthenticateSession.php(58): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#46 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Session\Middleware\AuthenticateSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#47 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php(121): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#48 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php(64): Illuminate\Session\Middleware\StartSession->handleStatefulRequest(Object(Illuminate\Http\Request), Object(Illuminate\Session\Store), Object(Closure))
#49 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#50 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#51 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#52 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#53 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#54 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#55 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Routing\Router.php(697): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#56 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Routing\Router.php(672): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#57 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Routing\Router.php(636): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#58 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Routing\Router.php(625): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#59 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(167): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#60 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(128): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#61 C:\xampp\htdocs\mws\vendor\livewire\livewire\src\DisableBrowserCache.php(19): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#62 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Livewire\DisableBrowserCache->handle(Object(Illuminate\Http\Request), Object(Closure))
#63 C:\xampp\htdocs\mws\vendor\barryvdh\laravel-debugbar\src\Middleware\InjectDebugbar.php(60): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#64 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Barryvdh\Debugbar\Middleware\InjectDebugbar->handle(Object(Illuminate\Http\Request), Object(Closure))
#65 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#66 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#67 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(Object(Illuminate\Http\Request), Object(Closure))
#68 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#69 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#70 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\TrimStrings->handle(Object(Illuminate\Http\Request), Object(Closure))
#71 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#72 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#73 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#74 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(Object(Illuminate\Http\Request), Object(Closure))
#75 C:\xampp\htdocs\mws\vendor\fruitcake\laravel-cors\src\HandleCors.php(38): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#76 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Fruitcake\Cors\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))
#77 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Http\Middleware\TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#78 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Http\Middleware\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#79 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#80 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(142): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#81 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(111): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#82 C:\xampp\htdocs\mws\public\index.php(52): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#83 {main}重要的边注奇怪的是。此循环通过FTP连接以收集文件夹。如果我将FTP用户凭据更改为其他用户的凭据,则不会得到错误。因此,这是在这个用户的目录(似乎),但boh用户的目录只有一个文件夹,同样的文件夹名称。所以,从我所能看到的两者之间看,一切都是吻合的。
我也可以用FileZilla登录到这两个网站。所以我想这不是服务器问题..。
第二个站点备注我查看了FTP服务器日志,并注意到正在发生一些不同的事情。
如果登录到1用户(不提供错误),我只是看到登录确认,然后注销.但是我的用户给出了问题,我注意到不同的事情发生了:
Nov 15 01:56:51 node1 pure-ftpd[7777]: (?@10.0.0.13) [INFO] test is now logged in
Nov 15 01:56:51 node1 pure-ftpd[7777]: (test@10.0.0.13) [INFO] Can't change directory to test.php: Not a directory
Nov 15 01:56:51 node1 pure-ftpd[7777]: (test@10.0.0.13) [INFO] Logout.更奇怪的是,我要求laravel查询的目录是/目录,其中只有域文件夹。test.php在域目录中,所以现在甚至没有被查询?
filemanager.index.blade
<x-narrow-layout>
<x-slot name="content">
@livewire('filemanager')
</x-slot>
</x-narrow-layout>滤波器控制器
namespace App\Http\Livewire;
use Livewire\Component;
use Illuminate\Support\Facades\Auth;
use App\Models\User;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Hash;
use App\Http\Livewire\DataTable\WithPerPagePagination;
use App\Http\Livewire\DataTable\WithSorting;
use App\Http\Livewire\DataTable\WithCachedRows;
class Filemanager extends Component
{
use WithSorting, WithCachedRows;
public $showEditModal = false;
public $showDeleteModal = false;
public $selectedUserId = '';
public $selectedUser = NULL;
public $openDirectory = '';
public $editing;
public $editingFile;
public $selected = [];
public $selectPage = false;
public $selectAll = false;
public $filters = [
'search' => ''
];
protected $queryString = ['selectedUserId', 'openDirectory'];
public function rules() {
$rules = [
'editing' => 'nullable'
];
return $rules;
}
public function selectUserFtp($user_id){
$this->selectedUserId = $user_id == $this->selectedUserId ? '' : $user_id;
$this->openDirectory = '';
}
public function updateActivePath($path){
$this->openDirectory = $path;
}
public function editFile($file){
$this->editing = $this->selectedUser->MainFTPUser->GetFileContent($file);
$this->editingFile = $file;
$this->showEditModal = true;
}
public function saveFile() {
$this->validate();
$this->selectedUser->MainFTPUser->SaveFileContent($this->editingFile, $this->editing);
$this->showEditModal = false;
$this->editing = '';
$this->editingFile ='';
}
public function duplicateFile($file) {
$this->editing = $this->selectedUser->MainFTPUser->GetFileContent($file);
$this->editingFile = $file;
$this->selectedUser->MainFTPUser->SaveFileContent($this->editingFile.'_copy', $this->editing);
$this->editing = '';
$this->editingFile ='';
}
public function deleteFile($file) {
$this->selectedUser->MainFTPUser->deleteFile($file);
}
public function updatedSelectPage($value) {
$this->selected = $value
? $this->Rows->pluck('id')->map(fn($id) => (string) $id)
: $this->selected = [];
}
public function render()
{
$sub_accounts_array = User::query()
->where(function ($query) {
$query->wherein('id', Auth::user()->SubUsersIDS)
->orWhere('id', Auth::user()->id);
})
->orderBy('username')
->get();
$this->selectedUser = $this->selectedUserId!='' ? User::find($this->selectedUserId) : NULL;
$directoryContent = [];
$directoryDirectories = [];
$output = [];
if($this->selectedUser!=NULL){
$directoryDirectories = $this->selectedUser->MainFTPUser->DirectoryFolders($this->openDirectory);
$directoryContent = $this->selectedUser->MainFTPUser->DirectoryFiles($this->openDirectory);
}
$output = [];
foreach($directoryDirectories as $folder){
$output[] = [
'id' => md5($folder['path']),
'path' => $folder['path'],
'label' => $folder['label'],
'size' => '1 kb',
'permissions' => '0000',
'date' => $this->selectedUser->MainFTPUser->getDateModified($folder['path']),
'type' => 'folder',
];
}
foreach($directoryContent as $file){
$output[] = [
'id' => md5($file['path']),
'path' => $file['path'],
'label' => $file['label'],
'size' => $this->selectedUser->MainFTPUser->getFileSize($file['path']),
'permissions' => '0000',
'date' => $this->selectedUser->MainFTPUser->getDateModified($file['path']),
'type' => 'file',
];
}
return view('livewire.filemanager')
->with('sub_accounts', $sub_accounts_array)
->with('directoryFilesAndFolders', $output);
}
}发布于 2021-11-15 05:27:39
在错误堆栈中:
内部函数: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2,'substr()
.,‘C:\xampp\htdocs.’,222,)
#1 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Support\Str.php(222):substr(Object(Illuminate\Filesystem\FilesystemAdapter),-6)
#2 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\DatabaseManager.php(103):Illuminate\Support\Str::endsWith(Object(Illuminate\Filesystem\FilesystemAdapter),阵列)
#3 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\DatabaseManager.php(77):Illuminate\Database\DatabaseManager->parseConnectionName(Object(Illuminate\Filesystem\FilesystemAdapter))
#4 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(1653):Illuminate\Database\DatabaseManager->connection(Object(Illuminate\Filesystem\FilesystemAdapter))
#5 C:\xampp\htdocs\mws\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(1619):Illuminate\Database\Eloquent\Model::resolveConnection(Object(Illuminate\Filesystem\FilesystemAdapter))
..。
Illuminate\Support\Str::endsWith方法是在Illuminate\Filesystem\FilesystemAdapter对象而不是字符串上调用的。
FilesystemAdapter首先在堆栈的#5 (Illuminate\Database\Eloquent\Model::resolveConnection)中使用,然后通过。下面有几个雄辩的内部呼吁。从较低的级别(#13 - #19),您可以看到一些实时通话。
我的猜测是,将livewire与Filemanager类结合使用可能会导致错误地使用FilesystemAdapter作为数据库连接字符串。
发布于 2021-11-15 20:14:50
好了,伙计们,我缩小了范围。基于@koala的回答暗示它在模型中,我有两个功能:
$directoryDirectories = $this->selectedUser->MainFTPUser->DirectoryFolders($this->openDirectory);
$directoryContent = $this->selectedUser->MainFTPUser->DirectoryFiles($this->openDirectory);如果我把他们排除在外,一切都会很顺利。为什么我不明白,因为对任何其他用户来说,它都是完美的.
但我将模型中的所有“函数”都移出了模型,比如添加和删除FTP用户,只留下了模型中的属性和关系,其余的都移到了livewire控制器上。
这样做后,它解决了我的问题,我不再有实质性的问题。
我还是不明白为什么它是如此不可预测的行为,但谢谢你的提示。这让我找到了问题所在。
https://stackoverflow.com/questions/69968131
复制相似问题