タイトルは次のように書き換えられました: PDOException SQLSTATE エラーが発生しました、ファイルまたはディレクトリが見つかりません
P粉183077097
P粉183077097 2023-10-10 15:43:30
0
2
621

自分の (非常に基本的な) サイトを fortrabbit に正常にデプロイできたと思いますが、SSH に接続していくつかのコマンド (phpArtisan MigratephpArtisan db :seed# など) を実行すると、 ##)、エラー メッセージが表示されます: リーリー

テーブルが存在するため、ある時点では移行はうまくいったはずですが、それはなぜ今うまくいかないのかの説明にはなりません。

P粉183077097
P粉183077097

全員に返信(2)
P粉788765679

このエラーの最も単純な原因の 1 つは、MySQL サーバーが実行されていないことです。だから最初に確認してください。開始している場合は、他の提案を続行します:

まったく同じ問題に遭遇しました。上記の解決策はどれも私にとっては役に立ちませんでした。 /app/config/database.php ファイルの「ホスト」を「localhost」から「127.0.0.1」に変更することで問題を解決しました。

「localhost」がデフォルトで機能しない理由はわかりませんが、symfony2 の投稿で解決された同様の問題でこの答えを見つけました。 https://stackoverflow.com/a/9251924

更新: なぜこの修正が機能するのかという質問があったので、このトピックについて調べてみました。この投稿で述べたように、異なる接続タイプを使用しているようです https://stackoverflow.com/a/9715164

ここでの問題は、「localhost」が UNIX ソケットを使用しているため、標準ディレクトリでデータベースが見つからないことです。ただし、「127.0.0.1」は TCP (Transmission Control Protocol) を使用します。これは本質的に、コンピュータ上の「ローカル インターネット」上で実行されることを意味し、この場合 UNIX ソケットよりもはるかに信頼性が高くなります。

いいねを押す +0
P粉356361722

エラー メッセージは、MySQL 接続がソケット (サポートされていない) 経由で試行されたことを示しています。

Laravel (Artisan) のコンテキストでは、別の/正しい環境を使用したい場合があります。例: php 職人 移行 --env=product (または任意の環境)。 ここを参照してください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート