質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PDO

PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

5回答

8754閲覧

mysqlにつなげようとするとソケットの場所が違うといったエラーがでる

YamamotoHiroki

総合スコア57

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PDO

PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2015/07/16 04:02

現在PHPでWebユーザー管理システムを作ろうと思い奮闘しています。

そこでmysqlに接続しなければならないのですが

php

1<?php 2 3function connectDb(){ 4 try{ 5 return new PDO(DSN,DB_USER,DB_PASSWORD); 6 } catch (PDOException $e){ 7 echo $e->getMessage(); 8 exit; 9 } 10} 11 12connectDb(); 13 ?> 14

こうして接続できているか確認のためサーバーにファイルをアップし、ページを表示してみると

SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

と出てしまいます。

別ファイルで定義しているのは

define('DSN','mysql:host=localhost;dbname=dotinstall_sns_php');
define('DB_USER','dbuser');
define('DB_PASSWORD','*****');
session_set_cookie_params(0,'/dot_install/');

とかです。
ちなみに/tmpにmysql.sockという名前のファイルがあるか確認してみるとありました。
また、PDO?を使うのが初めてで
一体なんなのかいまいちわかっていません。
写経中に出てきました。

エラーを回避してデータベースに接続させる方法を教えて欲しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

ベストアンサー

初めまして。

出来れば、お使いのPCのOS(Macなのか、Windowsなのか、Linuxなのか。)、
ローカルのPCで開発しているのか、VPSサーバで開発しているのか、
PHPのバージョン、DBのバージョンや、
ApacheなのかNginxを使っているかなどの情報もあると
より回答しやすくなります!

localhostとしているので、ローカルのPCで開発されていると思いますので、
localhostを127.0.0.1にしてみてください。

それでもだめでしたら、
mysqlの設定ファイルの一部を書き換える必要があるかもです。
/etc/my.cnfの内容を次のように書き換えてみてください。

default-character-set=utf8

character-set-server=utf8

また調べると、
http://stackoverflow.com/questions/4448467/cant-connect-to-local-mysql-server-through-socket-var-lib-mysql-mysql-sock
http://okwave.jp/qa/q7350834.html

色々でてきます。

投稿2015/07/16 04:39

K_T_T_K

総合スコア231

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YamamotoHiroki

2015/07/16 08:18

>出来れば、お使いのPCのOS(Macなのか、Windowsなのか、Linuxなのか。)、 ローカルのPCで開発しているのか、VPSサーバで開発しているのか、 PHPのバージョン、DBのバージョンや、 ApacheなのかNginxを使っているかなどの情報もあると より回答しやすくなります! Mac ローカルのPCとはなんですか?ロリポップで実際世界中の人が閲覧可能な状態でアップロードしていますがこれもローカルなのでしょうか? データベースは今はrootでつなげようとしているのでローカルだと思います。 PHP 5.5.20 MAMPでApacheを起動して使っています。 DBのバーションはServer version: 5.5.38-log Source distributionであってますかね・・? $ mysql -vで表示されたものです。
YamamotoHiroki

2015/07/16 08:31

>localhostとしているので、ローカルのPCで開発されていると思いますので、 localhostを127.0.0.1にしてみてください そのようにしたら SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (111) と表示されました /etc/my.cnf を開くとなぜか sublimeテキストのパス表示のところに private//etc/my.cnf と表示されるのですがこのファイルであってますか? またこのファイルの中には default-character-set=utf8 の記述が見当たらないです・・
K_T_T_K

2015/07/16 08:59

語弊ありましたね。 ローカルのPCというのは、YamamotoHirokiが使っておられるMacパソコン上の事を指しました。 ロリポップのサーバの場合、ローカルではないですね。 ロリポップのサーバをお使いになられているようなので、 127.0.0.1ではなく、ロリポップのサーバのIPアドレスを入力してみてください。 というよりも、DBサーバは、ロリポップで借りたサーバではないのでしょうか? 私のかってなイメージだったのですが、 ロリポップのサーバを借り、そこにPHP/Mysql/Apacheをインストールし その上でPDOを使い、DB接続しているのかと思っていました。
K_T_T_K

2015/07/16 09:03

ロリポップのサーバの事はあまりわかりませんが、 おそらくMAMPと借りているロリポップのサーバを接続出来ないかもしれません。 ローカル上のPCでMAMPだけでやれば接続出来ると思いますが、 ロリポップサーバにApache・PHPを入れて、DBサーバだけMAMPだと接続できなかと思いますよ。
YamamotoHiroki

2015/07/17 03:57

ロリポップのサーバーを使用し、DBもロリポップが提供しているmysqlを使用するとすれば define('DSN','mysql:host=localhost;dbname=dotinstall_sns_php'); は define('DSN','mysql:host=[ロリポップが提供するIPアドレス?];dbname=dotinstall_sns_php'); にすればいいんですかね?
K_T_T_K

2015/07/17 04:00

そういうことですね。 YamamotoHirokiさんが借りているレンタルサーバにMysqlをインストールして、 借りたサーバのIPを指定してあげればうまく接続できるかと思います。
YamamotoHiroki

2015/07/17 04:21

ロリポップのサーバーを使用し、DBはローカルで持つ なんてこともできるのでしょうか?
K_T_T_K

2015/07/17 04:34

いえ、ロリポップのサーバにMysqlをインストールするという事です。 ロリップのサーバには、Apacheを入れているかと思いますが、 そのサーバ内にMysqlもインストールするのです。 そのロリッポプのサーバは、WebサーバでもありDBサーバでもあるということになります。 ロリポップのサーバにApacheを入れてWebサーバとして用いて、 ローカルのMAMPをDBにサーバにして接続するというのは出来ないかと思いますよ。
K_T_T_K

2015/07/17 04:40

今更ですが、再度ご確認したいことがあります。 ロリポップのサーバには、Apache/Mysqlはインストールされて実際に使っているのでしょうか? それとも、Mac内のMAMPにApach2/Mysqlを起動してローカル内でPHPでDB接続を行っておられるのでしょうか?
YamamotoHiroki

2015/07/17 06:21

長くお付き合いしてもらいありがとうございます。 >ロリポップのサーバには、Apache/Mysqlはインストールされて実際に使っているのでしょうか? それとも、Mac内のMAMPにApach2/Mysqlを起動してローカル内でPHPでDB接続を行っておられるのでしょうか? これのどちらに属するのかわからないのですが 手順としては 1.コードを書きます 2.FileZilla でロリポップのサーバー情報を入力して接続し、コードをかいたファイルをアップロードします 3.http://discovery-sup.weblike.jp/dot_install/signup.phpにアクセスします 4.エラーコードが表示される です Macの中でMAMPは起動しています。 回答になっているかわかりませんが ロリポップに対しては何もアクションは起こしていません ましてやロリポップのサーバー内にmysqlをインストールするなどといったことはしていません というかロリポップに元々入ってる様子です・・・? >ローカル内でPHPでDB接続を行って そうではないと思います。 確認の方法はありますか? わかりにくくてすいません。 まだサーバーがどういったものなのかいまいちわかっていないもので・・
K_T_T_K

2015/07/17 06:53

いえいえ! すぐにDB接続出来るようにしてあげたいのですが、こちらの理解が悪くて 時間をおかけてして申し訳ありません。 > ロリポップに対しては何もアクションは起こしていません なるほどですね。 実際、ロリポップの方でMysqlが既にインストールされている場合は、 ロリポップのMysqlと接続する必要がありますので、 例え、ローカルPCのMAMPが起動されていなくても問題はありません。 あと、利用されておられるロリポップのプランをお聞きしても宜しいでしょうか?
K_T_T_K

2015/07/17 07:00

http://lolipop.jp/ を見ているのですが、「コロリポプラン」だと、Mysqlは入っていないようですね。。 もしYamamotoHiroki様が、「コロリポプラン」を利用しているようであれば接続はできないです。 ただ、それ以外のサーバであれば接続できますので、Mysqlの設定・PHP側の接続プログラムをしっかり出来れば接続出来ます。
YamamotoHiroki

2015/07/17 07:03

あ、ではロリポップで運用する場合はMAMPの中をいくらいじったところで何もかわらないんですね!
K_T_T_K

2015/07/17 07:05

今回の質問の回答とは全く関係ないのですが 価格が少し高くなってしまうのが懸念点ではありますがロリポップレンタルサーバではなく、http://vps.sakura.ad.jp/ さくらVPSを借りて利用された方が良いかと思います。
K_T_T_K

2015/07/17 07:07

ロリポプランです それなら、Mysqlは入っていますね! >あ、ではロリポップで運用する場合はMAMPの中をいくらいじったところで何もかわらないんですね! そうですね。 Mysqlのsocketの設定はおそらく、ローカルでやられているかと思いますので、 今回編集された、 define('DSN','mysql:host=localhost;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock;dbname=dotinstall_sns_php'); も変更し直す必要があります。
K_T_T_K

2015/07/17 07:11

おそらく、 http://dotinstall.com/lessons/sns_php_v2/9601 を見て進められているかと思いますが、この場合Vagrantという仮想環境構築ツールを用いてローカル開発環境を作られておられるので、 このような感じで、ターミナルから操作しながら進めるのであれば、 さくらVPSの方が良いかなと思います。 YamamotoHiroki様が、上記ドットインストールのリンクを見ながら進めれておられるのであれば、DBの作成やその他設定は、ローカルのPCのターミナルからやられているかと思いますので、ロリポップのDBの設定とはこれも全く関係ありません。 ロリポップレンタルサーバから、Mysqlの設定をする必要があります。
K_T_T_K

2015/07/17 07:14

ローカル上で動作させたいのであれば、MAMPを使ってDB接続の設定等は、 define('DSN','mysql:host=localhost;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock;host=localhost;dbname=dotinstall_sns_php'); のような形で設定するのですが、 今回の場合は、FileZilaを用いて、借りているサーバにPHPファイルをアップロードしているわけですから、ロリポップサーバ上でPHPとMysqlを接続しない限り、 http://discovery-sup.weblike.jp/dot_install/signup.php は SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/Applications/MAMP/tmp/mysql/mysql.sock' (2) というエラーをはきます。
K_T_T_K

2015/07/17 07:20

まとめ的になりますがロリポップサーバに接続したいのであれば 手順として、 1)ロリポップの管理画面から、Mysqlの設定(DBを作成します。dotinstall_sns_phpを作成する) YamamotoHiroki様のMacPCにMAMPは無視してください。 2)PHP側のプログラムのhostを 203.189.109.103 にしてください。 203.189.109.103というのは、 http://o2soft.jp/tool/domain/?cmd=sei&var1=discovery-sup.weblike.jp からdiscovery-sup.weblike.jpドメインからIPアドレスを正引きした結果です。 用語は今はわからなくても大丈夫です。 define('DSN','mysql:host=203.189.109.103;dbname=dotinstall_sns_php'); define('DB_USER','DBユーザー名を入れる'); define('DB_PASSWORD','DBのパスワードを入れる。'); これで出来るかと思います。
K_T_T_K

2015/07/17 07:24

> 203.189.109.103 にしてください。 203.189.109.103というのは、 http://o2soft.jp/tool/domain/?cmd=sei&var1=discovery-sup.weblike.jp からdiscovery-sup.weblike.jpドメインからIPアドレスを正引きした結果です。 用語は今はわからなくても大丈夫です。 申し訳ありません。 これは違いますので忘れてください。
YamamotoHiroki

2015/07/17 07:28

なるほどなるほど 新しくDBを作成することにしました。 >おそらく、 http://dotinstall.com/lessons/sns_php_v2/9601 を見て進められているかと思いますが そうです ではロリポップのmysqlの設定をみると サーバ: mysql024.phy.lolipop.lan (mysql024.phy.lolipop.jp via TCP/IP) サーバのバージョン: 5.6.14-log プロトコルバージョン: 10 ユーザ: LAA0578893@210.172.144.67 MySQL の文字セット: UTF-8 Unicode (utf8) となっていましたが define('DSN','mysql:host=210.172.144.67;dbname=LAA0578893-28jogs'); define('DB_USER','LAA0578893'); こうすればOKでしょうか?
K_T_T_K

2015/07/17 07:28

http://q.hatena.ne.jp/1319564432 見る限り、ロリポップのDBサーバは別に用意されているみたいです。 上記のリンク参考になるかと思いますよ。
K_T_T_K

2015/07/17 07:29

上記の記事リンクからの引用です。 > ロリポップの場合、Web サーバとデータベースサーバは、別になっていますので、 > mysql_connect('localhost','root','') or die(mysql_error()); のように localhost を使っては、接続できません。 ロリポップのユーザ専用ページで、データベース作成時で、表示された「サーバー名」、「データベース名」、「ユーザー名」、「作成時に入力したパスワード」を 使って、接続する必要が有ります。 例えば、mysql00.lolipop.jp のサーバで、ユーザー名とデータベース名が、LA123456789 、パスワードが、password だったとすると mysql_connect( 'mysql00.lolipop.jp','LA123456789','password' ) or die(mysql_error()); の用になります。 サーバ名、ユーザ名、パスワードは、自分の設定されたものに合わせてください。
K_T_T_K

2015/07/17 09:06 編集

210.172.144.67をmysql***.phy.lolipop.jpに変えてみてください
YamamotoHiroki

2015/07/17 10:45 編集

define('DSN','mysql:host=mysql***.phy.lolipop.jp;dbname=LAA0578893-*******'); define('DB_USER','LA********'); とすると SQLSTATE[28000] [1045] Access denied for user 'LAA0578893'@'210.172.144.97' (using password: YES) と表示されてしまいます。 あと一歩な気がするんですが、、 >(using password: YES) これはパスワードはあってますよ という意味ですよね? 権限の問題でしょうか?
YamamotoHiroki

2015/07/17 07:56

PDO(DSN,DB_USER,DB_PASSWORD); PDOでつないでることに何か問題があったりしますか?
K_T_T_K

2015/07/17 07:56

210.172.144.67をmysql024.phy.lolipop.jpに変えてもらえますでしょうか!?
K_T_T_K

2015/07/17 09:07 編集

>SQLSTATE[28000] [1045] Access denied for user 'LAA0******'@'210.172.144.97' (using password: YES) ユーザー名等が間違っていた場合かと思います
K_T_T_K

2015/07/17 07:58

> PDOでつないでることに何か問題があったりしますか? いえ、問題はありませんよ。
YamamotoHiroki

2015/07/17 07:59

変えたんですけど エラーメッセージが SQLSTATE[28000] [1045] Access denied for user 'LAA0578893'@'210.172.144.97' (using password: YES) です。 かえれてないんですかね?;;
K_T_T_K

2015/07/17 08:00

なるほど。 現在のコード(パスワードはもちろんふせていただいて)を見せていただけますでしょうか?
YamamotoHiroki

2015/07/17 08:04

config.php <?php define('DSN','mysql:host=mysql024.phy.lolipop.jp;dbname=LAA0578893-28jogs'); define('DB_USER','LAA0578893'); define('DB_PASSWORD','*****'); #unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock define('SITE_URL','http://discovery-sup.weblike.jp/dot_install/'); define('PASSWORD_KEY','*****'); error_reporting(E_ALL); session_set_cookie_params(0,'/dot_install/');
YamamotoHiroki

2015/07/17 08:06

長いですが signup.php <?php require_once('config.php'); require_once('functions.php'); session_start(); function setToken(){ $token = sha1(uniqid(mt_rand(), true)); $_SESSION['token'] = $token; } function checkToken(){ if (empty($_SESSION['token']) || ($_SESSION['token'] != $_POST['token'])){ echo "不正なポストが行われまいした!"; exit; } } function emailExists($email, $dbh){ $sql = "select * from user where email = :email limit 1"; $stmt = $dbh->prepare($sql); $stmt->execute(array(":email" => $email)); $user = $stmt->fetch(); return $user ? true : false; } if($_SERVER['REQUEST_METHOD'] != 'POST'){ //CSRF対策 setToken(); }else{ checkToken(); $name = $_POST['name']; $email = $_POST['email']; $password = $_POST['password']; $dbh = connectDb(); $err = array(); //名前がから? if($name ==' '){ $err['name'] = '名前を入力してください'; } //メールアドレスが正しい? if(!filter_var($email, FILTER_VALIDATE_EMAIL)){ $err['email'] = 'メールアドレスの形式が正しくないです'; } if(emailExists($email, $dbh)){ $err['email'] = 'このメールアドレスは既に登録されています'; } //メールアドレスがから? if($email == ' '){ $err['email'] = 'メールアドレスを入力してください'; } //パスワードがから? if($password == ' '){ $err['password'] = 'パスワードを入力してください'; } if(empty($err)){ //登録処理 } } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>新規ユーザー登録</title> </head> <body> <h1>新規ユーザー登録</h1> <?php connectDb(); echo $err ; ?> <form action="" method="POST"> <p>お名前:<input type="text" name="name" value=""><?php echo h($err['name']); ?></p> <p>メールアドレス:<input type="text" name="email" value=""> <?php echo h($err['email']); ?></p> <p>パスワード:<input type="password" name="password" value=""> <?php echo h($err['password']); ?></p> <input type="hidden" name="token" value="<?php echo h($_SESSION['token']); ?>"> <p><input type="submit" value="新規登録"><a href="index.php">戻る</a></p> </form> </body> </html>
YamamotoHiroki

2015/07/17 08:06

> <?php connectDb(); echo $err ; ?> おそらくここでエラーが出ます
K_T_T_K

2015/07/17 09:04 編集

ありがとうございます。 config.phpで以下のどれかが間違っているかと思います。 「サーバー名」、「データベース名」、「ユーザー名」、「作成時に入力したパスワード」 一応ですが、 mysql***phy.lolipop.jp を mysql***.phy.lolipop.lan 変えてもらえますでしょうか?
K_T_T_K

2015/07/17 08:18

http://freo.jp/support/view/209 からの引用です。 > URL : http://cccabinet.jpn.org/ 設定に誤りがあると出るエラーみたいです。 ロリポップのユーザー専用のデータベースを確認して 接続先(MySQL用) ⇒ mysql***.phy.lolipop.jp(サーバー) ユーザー名(MySQL用) ⇒ LAA*******(ユーザー名) パスワード(MySQL用) ⇒ *********(パスワード確認で表示されるパスワード) データベース名 ⇒ LAA*******-******(データベース名) 上記が1文字でも誤っていたらエラーが出ます。空白やタブとかも含まれてないかもう一度config.phpを確認してみてはいかがでしょうか?
YamamotoHiroki

2015/07/17 08:22

>mysql024.phy.lolipop.jp を mysql024.phy.lolipop.lan 変えてもらえますでしょうか? エラーメッセージ SQLSTATE[28000] [1045] Access denied for user 'LAA0578893'@'172.17.0.97' (using password: YES) でした
K_T_T_K

2015/07/17 08:25

それでは、 mysql024.phy.lolipop.jp に戻しておいてください。 パスワードは、ロリポップMysqlのパスワードを使用していますでしょうか? 「サーバー名」、「データベース名」、「ユーザー名」、「作成時に入力したパスワード」 のどれかが間違っていると思いますので。
YamamotoHiroki

2015/07/17 08:32

わかりました。 少し試行錯誤してきます!
K_T_T_K

2015/07/17 08:36

はい:) 頑張ってください!
YamamotoHiroki

2015/07/17 08:50

できました!!!!! 結論パスワードが間違っていました。 >「サーバー名」、「データベース名」、「ユーザー名」、「作成時に入力したパスワード」 のどれかが間違っていると思いますので。 ここまで絞っていただいたおかげで気づけました。 本当に長々とお付き合いしていただきありがとうございました!
K_T_T_K

2015/07/17 09:01

良かったです:)!! いえいえ!!
K_T_T_K

2015/07/17 09:08

余談ですが、 2015/07/17 16:55 の投稿等にある、ロリポップのDB情報はセキュリティ上の観点から、伏せておいた方が良いと思われます。 私のコメントも*を入れて編集しましたので。
YamamotoHiroki

2015/07/17 10:46

しました! ほんとうにありがとうございました!
guest

0

DSNをmysql:unix_socket=/tmp/mysql.sock;host=localhost;dbname=testdb
http://php.net/manual/ja/ref.pdo-mysql.connection.php
unix_socketで指定

投稿2015/07/16 04:10

nanndemoiikara

総合スコア775

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YamamotoHiroki

2015/07/16 04:17

define('DSN','mysql:host=localhost;dbname=dotinstall_sns_php'); を define('DSN','mysql:unix_socket=/tmp/mysql.sock;host=localhost;dbname=dotinstall_sns_php'); に書き換えましたが何も変わりませんでした。。 >unix_socketで指定 とはどういう意味でしょうか?
nanndemoiikara

2015/07/16 04:56 編集

unix_socketの部分は本当にあなたの環境では/tmp/mysql.sockにありますでしょうか? mysql.sockのあるパスを指定してあげて下さい。 MAMPの場合は/Applications/MAMP/tmp/mysql/mysql.sock ここにmysql.sockがあります。
YamamotoHiroki

2015/07/16 08:23

$ ls Applications home Library installer.failurerequests Network net System opt Users private Volumes sbin bin tmp cores usr dev var etc ユーザ情報 $ cd tmp/ $ ls KSOutOfProcessFetcher.501.KvQVA6MpDzYxvkzUKAnRQWNnZYg= SymMCLM SymUIAgents aprN33wM9 com.apple.launchd.AGy6x10zwI com.apple.launchd.qpo9OulcyR com.symantec.avscandaemonB com.symantec.liveupdate.daemonport mysql.sock symc000100a4 ターミナルでの結果です 確かに /tmp/mysql.sockにあると思うのですが・・ MAMPを使っているのですが /Applications/MAMP/tmp/mysql/mysql.sockこちらのmysql.sockを使用しないとダメなのでしょうか?
nanndemoiikara

2015/07/17 00:50

MAMPのmysqlを使用する場合はダメな可能性が高いです。
YamamotoHiroki

2015/07/17 03:01

/Applications/MAMP/tmp/mysql にmysql.sockがあるのは確認しました define('DSN','mysql:host=localhost;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock;host=localhost;dbname=dotinstall_sns_php'); に書き換えて接続をすると SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/Applications/MAMP/tmp/mysql/mysql.sock' (2) と表示されてしまいました。
nanndemoiikara

2015/07/17 04:23

× host=localhost;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock;host=localhost;dbname=dotinstall_sns_php ○ host=localhost;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock;dbname=dotinstall_sns_php mysqlは起動されてますか?
K_T_T_K

2015/07/17 04:44

nanndemoiikara様 横から失礼致します。 ロリポップサーバ(Apache)+ローカルのMAMP(Mysql)は接続出来るのでしょうか? 私の知識不足で、出来ないのかと思っていたのですが。。
YamamotoHiroki

2015/07/17 06:12

define('DSN','mysql:host=localhost;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock;dbname=dotinstall_sns_php'); にしましたが SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/Applications/MAMP/tmp/mysql/mysql.sock' (2) と表示されてしまいました。 >mysqlは起動されてますか? 起動していると思います MAMP上では起動中となっております 何度も再起動していますが、何か確認方法はありますか? ターミナル上で$ mysql -u root -p とするとパスワードが要求されて 入力すると mysql> この状態になるのですが これは起動していると思って間違いないですよね?
nanndemoiikara

2015/07/21 05:31

nanndemoiikara様 横から失礼致します。 > ロリポップサーバ(Apache)+ローカルのMAMP(Mysql)は接続出来るのでしょうか? > 私の知識不足で、出来ないのかと思っていたのですが。。 できません。 ローカル環境で繋がらないのかと思っておりました。
guest

0

/etc/my.cnf,/etc/php.iniの以下の内容を確認してみてください。

----<以下 /etc/my.cnf>----
[mysqld]

socket=/var/lib/mysql/mysql.sock →①

[client]
socket=/var/lib/mysql/mysql.sock →①と同じにする

----<以下 /etc/php.ini>----

mysql.default_socket = /var/lib/mysql/mysql.sock →①と同じにする

投稿2015/07/21 04:51

abtc

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

>別ファイルで定義

単純にこの「別ファイル」をincludeし忘れているということはありませんか?

まさかとは思いますが、提示されているソースにincludeの記述がないので、念のため・・・

投稿2015/07/16 04:56

zico_teratail

総合スコア907

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YamamotoHiroki

2015/07/16 08:13

<?php require_once('config.php'); require_once('functions.php'); session_start(); if (empty($_SESSION['me'])){ header('Location: '.SITE_URL.'login.php'); exit; } ?> 冒頭ではこのように読み込んでいて 読み込んでいないと使えない関数も使えるので読み込んでいると思います! 質問するときにいつも思うのですが コード全部を載せたら長くなりますが正確さ?が増しますよね でも数ファイルに渡って載せるのは回答する側からとったらしんどいかな、と思い抜粋してるのですが 全部のせたほうがいいのでしょうか?
guest

0

MySQLサーバーが起動していない場合にも同じエラーが起きますが、起動していますか?

サーバーの環境(OS等)が分からないので、どうやったら調べられるのか、などについては提示できませんが・・・

投稿2015/07/16 04:42

shiolier

総合スコア1156

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問