Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SQLSTATE[08006] [7] could not send SSL negotiation packet: Resource temporarily unavailable #705

Closed
stefblokdijk opened this issue Jul 16, 2024 · 5 comments

Comments

@stefblokdijk
Copy link

stefblokdijk commented Jul 16, 2024

Sail Version

1.30.2

Laravel Version

11.16.0

PHP Version

8.3.9

Operating System

macOS

OS Version

14.5

Description

I haven't touched this project in a while, so when I installed everything again I was met with the following error when trying to execute a Redshift query from Sail (locally): SQLSTATE[08006] [7] could not send SSL negotiation packet: Resource temporarily unavailable. No changes have been made to the project, database or AWS security settings.

However it does work when executing the any query using php artisan serve instead of sail up.

The following Github issue might be related to this: php/php-src#14665

Steps To Reproduce

docker-compose.yml

version: '3'
services:
    [REDACTED].test:
        build:
            context: ./vendor/laravel/sail/runtimes/8.3
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.3/app
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        ports:
            - '${APP_PORT:-80}:80'
            - '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - mysql
            - redis
    mysql:
        image: 'mysql/mysql-server:8.0'
        ports:
            - '${FORWARD_DB_PORT:-3306}:3306'
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ROOT_HOST: '%'
            MYSQL_DATABASE: '${DB_DATABASE}'
            MYSQL_USER: '${DB_USERNAME}'
            MYSQL_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 1
        volumes:
            - 'sail-mysql:/var/lib/mysql'
            - './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - mysqladmin
                - ping
                - '-p${DB_PASSWORD}'
            retries: 3
            timeout: 5s
    redis:
        image: 'redis:alpine'
        ports:
            - '${FORWARD_REDIS_PORT:-6379}:6379'
        volumes:
            - 'sail-redis:/data'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - redis-cli
                - ping
            retries: 3
            timeout: 5s
networks:
    sail:
        driver: bridge
volumes:
    sail-mysql:
        driver: local
    sail-redis:
        driver: local

config/database.php connection

'redshift' => [
    'driver' => 'pgsql',
    'host' => env('REDSHIFT_HOST', ''),
    'port' => env('REDSHIFT_PORT', ''),
    'database' => env('REDSHIFT_DATABASE', ''),
    'username' => env('REDSHIFT_USER', ''),
    'password' => env('REDSHIFT_PASSWORD', ''),
    'charset' => 'utf8',
    'prefix' => '',
    'search_path' => 'public',
    'sslmode' => 'prefer',
],

Example query

$test = DB::connection('redshift')
    ->table('example')
    ->count();
@driesvints
Copy link
Member

this is most likely a temporary hiccup.

@stefblokdijk
Copy link
Author

Hi @driesvints, i'm actually still experiencing this. The thumbs up on my post makes it seem like i'm not the only one having this problem.

@stefblokdijk
Copy link
Author

stefblokdijk commented Jul 22, 2024

I've done some more research and found that the temporary solution is to uninstall swoole which worked on 2 projects that connect to AWS Redshift.

I use php 8.3, so these were the required steps:

  1. Enter the CLI: sail root-shell
  2. Remove swoole: apt remove php8.3-swoole
  3. Restart sail

Here's the information I found:

The swoole fix was released in version v6.0.0-alpha but I wasn't able to install that via apt. I think this should eventually be addressed in sail itself since php8.3-swoole is being installed when setting up sail.

@pedrovian4
Copy link
Contributor

I've solved this issue here

#715

@gaborm74
Copy link

Ondřej updated the php-swoole extension package to the 5.1.4 swoole src release that contains the fix php8.1-swoole/now 6.0.0+really+5.1.4-1+ubuntu22.04.1+deb.sury.org+1 amd64 so everyone can rebuild their sail container image and the SSL issue is no more without force removing the extension

oerdnj/deb.sury.org#2205
https://github.com/swoole/swoole-src/releases/tag/v5.1.4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants