今日、PHP 5.30に移行するためにlamppの最新バージョンを削除して再インストールしました。突然、非常に単純なアプリケーションがmysqlデータベースに接続できません。私は接続するためにPDOを使用して、次のエラーを受信しています:私はそれをデバッグのために、現時点でエラーをキャッチしていないですPHPでPDOへの接続を作成する際のエラー
Warning: PDO::__construct() [pdo.--construct]: [2002] Invalid argument (trying to connect
via unix://) in /home/raistlin/www/todoapp/home.php on line 9
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002]
Invalid argument' in /home/raistlin/www/todoapp/home.php:9 Stack trace: #0
/home/raistlin/www/todoapp/home.php(9): PDO->__construct('mysql:host=loca...', 'USER',
'PASSWORD') #1 {main} thrown in /home/raistlin/www/todoapp/home.php on line 9
。
次のコードは、私のシステム上の問題を再現するのに十分です:
オンライン探し<?php
$DBACCESS = array(
"connstring"=>"mysql:host=localhost;dbname=todoapp",
"host"=>"localhost",
"user"=>"user",
"password"=>"password",
"todoapp"=>"todoapp"
);
echo implode('<br \>',$DBACCESS);
$dbh = new PDO($DBACCESS['connstring'],$DBACCESS['user'],$DBACCESS['password']);
$dbh = null;
?>
、私は同じ問題を持つ1つまたは2つの他の人を見つけたが、それらのどれも応答を受信していません、仕事量がはるかに少ない。誰が何が起きているのか知っていますか?私が構成で見逃したことはありますか?それを修正するために何をする必要がありますか?
MySQLが "localhost"を "私はUnixソケットを使用するつもりだ"と意味するのはなぜか分かりません – TML
Perfect。 xampp lamppのインストールでは、/opt/lampp/var/mysql/mysql.sockの使用が必要でしたが、問題はオプション2で解決されました。 – krdluzni
あなたがソケットを見つけることができてうれしい - 私はそこに例を投げて、あなたがそれを見つけることを祈った。 :) – TML