Server IP : / Your IP : 10.244.4.16 [ Web Server : nginx/1.25.3 System : Linux escuela-portal-app-54f56585bc-kst6g 5.15.0-1084-azure #93-Ubuntu SMP Sat Mar 15 14:12:29 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.2.13 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, Domains : 0 Domains MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /proc/449/root/var/www/app/vendor/inertiajs/inertia-laravel/src/Commands/ |
Upload File : |
<?php namespace Inertia\Commands; use Inertia\Ssr\SsrException; use Illuminate\Console\Command; use Inertia\Ssr\BundleDetector; use Symfony\Component\Process\Process; class StartSsr extends Command { /** * The console command name. * * @var string */ protected $name = 'inertia:start-ssr'; /** * The console command description. * * @var string */ protected $description = 'Start the Inertia SSR server'; /** * Start the SSR server via a Node process. */ public function handle(): int { if (! config('inertia.ssr.enabled', true)) { $this->error('Inertia SSR is not enabled. Enable it via the `inertia.ssr.enabled` config option.'); return self::FAILURE; } $bundle = (new BundleDetector())->detect(); $configuredBundle = config('inertia.ssr.bundle'); if ($bundle === null) { $this->error( $configuredBundle ? 'Inertia SSR bundle not found at the configured path: "'.$configuredBundle.'"' : 'Inertia SSR bundle not found. Set the correct Inertia SSR bundle path in your `inertia.ssr.bundle` config.' ); return self::FAILURE; } elseif ($configuredBundle && $bundle !== $configuredBundle) { $this->warn('Inertia SSR bundle not found at the configured path: "'.$configuredBundle.'"'); $this->warn('Using a default bundle instead: "'.$bundle.'"'); } $this->callSilently('inertia:stop-ssr'); $process = new Process(['node', $bundle]); $process->setTimeout(null); $process->start(); if (extension_loaded('pcntl')) { $stop = function () use ($process) { $process->stop(); }; pcntl_async_signals(true); pcntl_signal(SIGINT, $stop); pcntl_signal(SIGQUIT, $stop); pcntl_signal(SIGTERM, $stop); } foreach ($process as $type => $data) { if ($process::OUT === $type) { $this->info(trim($data)); } else { $this->error(trim($data)); report(new SsrException($data)); } } return self::SUCCESS; } }