diff --git a/app/Models/ServerLog.php b/app/Models/ServerLog.php index 866b48c..b6119ab 100755 --- a/app/Models/ServerLog.php +++ b/app/Models/ServerLog.php @@ -93,7 +93,7 @@ public function write($buf): void public function getContent(): ?string { if ($this->is_remote) { - return $this->server->os()->readFile($this->name, 150); + return $this->server->os()->tail($this->name, 150); } if (Storage::disk($this->disk)->exists($this->name)) { diff --git a/app/Models/Site.php b/app/Models/Site.php index 66bd533..c0f8ecb 100755 --- a/app/Models/Site.php +++ b/app/Models/Site.php @@ -4,6 +4,7 @@ use App\Exceptions\SourceControlIsNotConnected; use App\SiteTypes\SiteType; +use App\SSH\Services\Webserver\Webserver; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -185,7 +186,9 @@ public function php(): ?Service public function changePHPVersion($version): void { - $this->server->webserver()->handler()->changePHPVersion($this, $version); + /** @var Webserver $handler */ + $handler = $this->server->webserver()->handler(); + $handler->changePHPVersion($this, $version); $this->php_version = $version; $this->save(); } diff --git a/app/SSH/OS/OS.php b/app/SSH/OS/OS.php index b91b8cd..4402901 100644 --- a/app/SSH/OS/OS.php +++ b/app/SSH/OS/OS.php @@ -108,18 +108,22 @@ public function editFile(string $path, ?string $content = null): void ); } - public function readFile(string $path, ?int $lastLines = null): string + public function readFile(string $path): string { - $params = [ - 'path' => $path, - ]; - - if ($lastLines !== null) { - $params['lines'] = $lastLines; - } - return $this->server->ssh()->exec( - $this->getScript('read-file.sh', $params) + $this->getScript('read-file.sh', [ + 'path' => $path, + ]) + ); + } + + public function tail(string $path, int $lines): string + { + return $this->server->ssh()->exec( + $this->getScript('tail.sh', [ + 'path' => $path, + 'lines' => $lines, + ]) ); } diff --git a/app/SSH/OS/scripts/read-file.sh b/app/SSH/OS/scripts/read-file.sh index 3f8ff75..3e14507 100644 --- a/app/SSH/OS/scripts/read-file.sh +++ b/app/SSH/OS/scripts/read-file.sh @@ -1,7 +1 @@ -if [ -f __path__ ]; then - if [ -n __lines__ ]; then - sudo tail -n __lines__ __path__ - else - sudo cat __path__ - fi -fi +[ -f __path__ ] && sudo cat __path__ diff --git a/app/SSH/OS/scripts/tail.sh b/app/SSH/OS/scripts/tail.sh new file mode 100644 index 0000000..0716fd5 --- /dev/null +++ b/app/SSH/OS/scripts/tail.sh @@ -0,0 +1 @@ +sudo tail -n __lines__ __path__