さくらのレンタルサーバーについて。MySQLにデータを登録できない。


さくらのレンタルサーバーで簡単な会員登録プログラムを作っています。
index.php → check.php → thanks.php ・・・のような感じです。
ルートディレクトリには/dbconnect.phpを作成してあります。

「登録する」ボタンをクリックするとデータベースへ接続し、入力したデータを登録できるはずなんですが、
以下のようなメッセージが出力されます。

「Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)」

少し検索したところ、
MySQLサーバーで使うソケットをクライアントに合わせるのがいいらしんですけど、
さくらのレンタルサーバーでMySQLの設定を行う/etc/my.cnfが見当たりません。

アドバイスいただけないでしょうか?
以下が制作中のサイトです。
http://yuuri.sakura.ne.jp/join/index.php

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/06/13 15:59:16
  • 終了:2012/06/13 20:59:35

ベストアンサー

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492012/06/13 16:51:48

ポイント500pt

さくらはコントロールパネルにあるphpMyAdminで操作します。
http://support.sakura.ad.jp/manual/rs/web/db.html

phpMyAdminすらも正常に動かないとなれば、
ソケット関連を疑っても良いですが、
その場合はサポートにメールして対応してもらうことになると思います。

ここから本題に移りますが、
リンク先では、いきなりメアドや画像の登録を求められ、
dbconnect.php の中身は見れませんでした。

従って、実際にどのようなプログラムを組んでいるかはわかりませんが、
勝手な想像では、事前の文法チェックすらも行わずにアップロードしたものを、
サーバー上でいきなりテストして、頻繁にエラーで止まっているものと推測します。

こちらの推測が正しければ、エラーによる途中停止を繰り返すことによって、
データベースと接続したままになっているソケットが多数存在し、
それらが時間切れで開放されるまで接続できない状況が発生することも、
想像に難くありません。(こちょこちょやってると繋がることもあるということ)

引き続き想像で話をしますが、
最近は、WindowsやMacでも簡単にWeb+DB+phpサーバを構築できるようになってますので、
自分のためにも、他人のためにも、ローカルでのテストをしっかり行うようにしましょう。

自前で構築する楽な方法としては、
xamppというソフトで全てを一括インストールする方法があります。
http://www.apachefriends.org/jp/xampp-windows.html

ローカルで十分にテストしたものをアップロードしてもダメということであれば、
サーバーのトラブルか混雑が考えられますので、さくらのサポートに報告して、
サーバーを変えてもらえないか相談してみてください。

ざっくりとですが、現状では以上です。


余談になりますが、
コードの相談は自分のサイトを明かさないほうが良かったのです。
URLが判らなければコードを見せても攻撃対象になる心配はほぼ無いので・・・

他10件のコメントを見る
id:windofjuly

た、確かに・・・エディタで見てたのに色の違いに気づかなかった・・・

お役に立てず申し訳ない。

後ほど、コメント付きメッセージ送りますので、
ポイント残高の確認をしておいてください。

2012/06/13 21:06:12
id:kireifish

とりあえず、Amazonでレビューしてきました。(48時間後にはアップされるはず)

http://www.amazon.co.jp/gp/product/4839933146/ref=cm_cr_mts_prod_img

2012/06/13 21:21:04
  • id:kireifish
    なんかいろいろ触っているうちに
    「Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)」
    のメッセージが消えました。
  • id:namiheikun
    サンプルにあるdbconnect.phpのままなら
    mysql_connect('localhost', 'root', '') or die(mysql_error());
    のlocalhostは変えないとダメですね、'wwwxx.sakura.ne.jp'(xxは数字)とかユーザー名もrootでいいのかとかです
  • id:namiheikun
    私のとこのホスト名は
    mysqlXX.db.sakura.ne.jp
    データベース名はさくらのユーザー名
    データベースユーザーもさくらのユーザー名
    それとパスワードを設定してますね
    その値で接続に行ってるようです

    mysql_connect(ホスト名,ユーザー名,パスワード)

    って感じです

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません