LaradockでSocket通信を行おうとしたらCall to undefined function socket_create() エラーの対処法

LaradockでSocket通信をしようとしたらエラーが出て詰まりました。解決方法を共有します。

目次

エラー内容

Call to undefined function socket_create()

このエラーは、PHPのSocket拡張機能が有効になっていないことを示しています。Laradock環境でこの問題を解決する方法を紹介します。

解決手順

1. Dockerfileの修正

使用しているPHPのDockerfileを開き、Socket拡張機能をインストールするコマンドを追加します。

dockerfile FROM php:7.4-fpm

# 既存のRUNコマンドに以下を追加
RUN docker-php-ext-install sockets

# 他の既存の命令...

注意: バージョンは使用しているPHPのバージョンに合わせて調整してください。

2. コンテナの再ビルド

Dockerfileを修正した後、以下のコマンドでコンテナを再ビルドします:

docker-compose build php-fpm
docker-compose up -d

3. PHP設定の確認

コンテナ内でPHPの設定を確認し、sockets拡張機能が有効になっていることを確認します:

bash docker-compose exec php-fpm php -m | grep sockets

このコマンドで “sockets” が表示されれば、拡張機能が正しく有効化されています。

結果

これらの手順を実行すると、socket_create() 関数が使用可能になり、エラーが解決されるはずです。

問題が解決しない場合は、Laradockの設定やPHPのバージョンなど、より詳細な情報を確認し、必要に応じて追加の対応を行ってください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次