Repository: laravel/octane (language: php)

Issue:
Undefined array key "assets"
### Octane Version

latest

### Laravel Version

11

### PHP Version

8.3

### What server type are you using?

FrankenPHP

### Server Version

latest

### Database Driver & Version

_No response_

### Description

```
php artisan octane:install --server=frankenphp -vvv


 FrankenPHP's Octane integration is in beta and should be used with caution in production. Do you wish to continue? (yes/no) [yes]:
 > 

 Unable to locate FrankenPHP binary. Should Octane download the binary for your operating system? (yes/no) [yes]:
 > 



   ERROR  Undefined array key "assets"
```

### Steps To Reproduce

When I quickly confirm everything and cancel, and then run again it always prompts these


Discussion / hints:
Please check your network to the GitHub API. https://api.github.com/repos/dunglas/frankenphp/releases/latest
> Please check your network to the GitHub API. https://api.github.com/repos/dunglas/frankenphp/releases/latest

是的，就是这个问题

```
{
"message": "API rate limit exceeded for 103.116.72.46. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)",
"documentation_url": "https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"
}
```
The solution is to switch ip

Fix patch:
diff --git a/src/Commands/Concerns/InstallsFrankenPhpDependencies.php b/src/Commands/Concerns/InstallsFrankenPhpDependencies.php
index 83f9875f0..2aa47d875 100644
--- a/src/Commands/Concerns/InstallsFrankenPhpDependencies.php
+++ b/src/Commands/Concerns/InstallsFrankenPhpDependencies.php
@@ -3,6 +3,7 @@
 namespace Laravel\Octane\Commands\Concerns;
 
 use GuzzleHttp\Client;
+use Illuminate\Http\Client\RequestException;
 use Illuminate\Support\Facades\Http;
 use Illuminate\Support\Str;
 use Laravel\Octane\FrankenPhp\Concerns\FindsFrankenPhpBinary;
@@ -55,6 +56,8 @@ protected function ensureFrankenPhpBinaryIsInstalled()
      * Download the latest version of the FrankenPHP binary.
      *
      * @return string
+     *
+     * @throws RequestException
      */
     protected function downloadFrankenPhpBinary()
     {
@@ -71,9 +74,12 @@ protected function downloadFrankenPhpBinary()
             throw new RuntimeException('FrankenPHP binaries are currently only available for Linux (x86_64, aarch64) and macOS. Other systems should use the Docker images or compile FrankenPHP manually.');
         }
 
-        $assets = Http::accept('application/vnd.github+json')
+        $response = Http::accept('application/vnd.github+json')
             ->withHeaders(['X-GitHub-Api-Version' => '2022-11-28'])
-            ->get('https://api.github.com/repos/dunglas/frankenphp/releases/latest')['assets'];
+            ->get('https://api.github.com/repos/dunglas/frankenphp/releases/latest')
+            ->throw(fn () => $this->error("Failed to download FrankenPHP."));
+
+        $assets = $response['assets'] ?? [];
 
         foreach ($assets as $asset) {
             if ($asset['name'] !== $assetName) {


Test patch: