php使用pdo连接报错Connection failed SQLSTATE的解决方法_php技巧
本文实例讲述了php pdo_mysql连接报错Connection failed: SQLSTATE[HY000] [2002] No such file or directory问题的解决方法。分享给大家供大家参考。具体方法如下:
错误描述:
Connection failed: SQLSTATE[HY000] [2002] No such file or directory
环境概述:
MacOS
xampp 搭建的开发环境 apache mysql php
xampp 已支持mysql oracle 测试ok,且 phpinfo已上显示支持pdo_mysql pdo_pgsql pdo_sqlite
其中mysql我用的是brew包管理安装到机器里面的,而非xampp自带的mysql
php pdo 连接报错 Connection failed: SQLSTATE[HY000] [2002] No such file or directory
开始以为找不到文件是因为 url rewrite导致的,(因为从nginx切换到apache)结果跟踪程序发现是 new pdo 报错
经过搜索一些资料研究发现:
这个是php.ini配置文件中pdo_mysql.default_socket指定的mysql.sock路径不对
我的mysql.sock文件在 /private/tmp/mysql.sock
所以要设置:
如果不知道自己的mysql.sock在哪里可以搜索(因为编译安装,和yum、apt-get、或者brew等包管理工具安装的位置不一样)
sudo find / -name 'mysql.sock'
下面是官方给出bug修复
1. Open up php.ini (mine was in /private/etc/)
2. locate this line: pdo_mysql.default_socket=/var/mysql/mysql.sock
3. Change the line to: pdo_mysql.default_socket=/tmp/mysql.sock
4. Restart apache
1、我这里需要补充下,如果是新系统或者刚玩php的同志,在Mac的系统中php.ini 文件不存在。
2、需要在/private/etc/目录下cp php.ini.default
php.ini ,然后再做修改下
3、但是如果使用的xampp mysql作为数据库,那么就不需要使用官方的step2,直接写下面方式就可以了。
解决方法三:
把以下三个原来空白的值都设置为:
mysql.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket= /tmp/mysql.sock
mysqli.default_socket =/tmp/mysql.sock
都修改了
修改完成后使用
问题搞定!
希望本文所述对大家的PHP程序设计有所帮助。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











DeepSeek:サーバーに混雑している人気のあるAIを扱う方法は? 2025年のホットAIとして、Deepseekは無料でオープンソースであり、OpenAio1の公式バージョンに匹敵するパフォーマンスを備えており、その人気を示しています。ただし、高い並行性は、サーバーの忙しさの問題ももたらします。この記事では、理由を分析し、対処戦略を提供します。 Deepseek Webバージョンの入り口:https://www.deepseek.com/deepseekサーバーに忙しい理由:高い並行アクセス:Deepseekの無料で強力な機能が同時に使用する多数のユーザーを引き付け、サーバーの負荷が過剰になります。サイバー攻撃:Deepseekが米国の金融産業に影響を与えることが報告されています。

SESAME Open Exchangeアプリの公式ダウンロード手順は、AndroidおよびiOSシステムのダウンロードプロセスと一般的な問題ソリューションをカバーしているため、安全かつ迅速かつ迅速に、暗号通貨の便利なトランザクションを有効にするのに役立ちます。

デジタル通貨取引プラットフォームで取引する場合、最も心配な状況は、売り手が購入後にコインをリリースしないか、買い手が支払うことができないことです。これらの状況は両方とも、その後のトランザクションに深刻な影響を与えます。この記事では、バイヤーが支払うことができない方法に焦点を当てます。コインを購入した場合に支払えない場合はどうすればよいですか?支払いが不可能な状況に遭遇した場合、まず独自の支払い方法とアカウントステータスを確認し、ネットワークと取引プラットフォームが正常に動作しているかどうかを確認する必要があります。問題が同じ場合、プラットフォームのカスタマーサービスに連絡することが通常最も効果的なソリューションです。より詳細なソリューションを次に示します。支払い方法の問題:一部の銀行またはクレジットカード機関は、暗号通貨関連の取引、特に国際的な支払いを制限する場合があります。制限のために銀行またはクレジットカード会社に連絡し、代わりに別の支払い方法を使用しようとすることをお勧めします。

node.js環境で403を返すサードパーティインターフェイスの問題を解決します。 node.jsを使用してサードパーティのインターフェイスを呼び出すと、403を返すインターフェイスから403のエラーが発生することがあります...

問題の説明公式コードに従ってパラメーターを記入した後、PHPを使用してAlipay EasySDKを呼び出すとき、操作中にエラーメッセージが報告されました。

OKXデバイス制限ソリューション:OKXアカウントデバイスは制限されていますか?この記事では、詳細なセルフサービスソリューションを提供します。まず、アカウント情報と制限付きデバイスの詳細を提供するために、OKX公式カスタマーサービスにお問い合わせください。カスタマーサービスは、認証情報を提供し、異常な活動を説明するように求める場合があります。その後、OKXがレビューするのを待つ必要があります。これには数日かかる場合があります。監査が完了した後、パスワードの変更、2要素の検証の有効化、違反の停止など、制限(異常なログインや違反など)の理由に基づいて対応する措置を講じます。 制限がシステムエラーによって引き起こされる場合は、システムが回復し、OKXの公式発表に従うまで辛抱強く待ってください。

Elasticsearch-PHPクライアントと組み合わせてElasticsearchを操作するThinkPhp6フレームワークを使用して...

LaravelはPHPベースのフレームワークであるため、PHPとLaravelは直接匹敵するものではありません。 1.PHPは、シンプルで直接的であるため、小規模プロジェクトや迅速なプロトタイピングに適しています。 2。LARAVELは、豊富な機能とツールを提供するため、大規模なプロジェクトや効率的な開発に適していますが、急な学習曲線があり、純粋なPHPほど良くない場合があります。
