まとまりのないブログ

something which something is something

php

xoops のインストール時にデータベースサーバに接続できません。と表示される。

投稿日:

自宅サーバでxoopsをインストールしようとして、ウィザードに従って入力していくとデータベースサーバに接続できませんというページが現れる。ここで相当迷った。何故、接続ができないのかという理由が検討もつかなかったので。xoopsにつながらないのなら、普通のphpプログラムからはつながるかどうかというのをテストしてみることにした。testdb.phpとか適当なファイルを作成して、

<?php
  //データベース接続情報
  $dbHost = "localhost";
  $dbUser = "xoops";
  $dbPass = "xoopspass";
  $dbName = "xoops";

  $db = mysqli_connect( $dbHost, $dbUser, $dbPass );
  mysqli_query($db,"SET NAMES sjis");
  mysqli_select_db( $db, $dbName )
    or die("データベース" . $dbName . "との接続に失敗しました。");
  $query = "SELECT aaa " .
               " FROM xoops";
  $result = mysqli_query( $db, $query )
    or die("データの読み込みに失敗しました:n " . mysqli_error( $db ) );

?>

と書き込んでからブラウザでこのファイルにアクセスする。失敗すればエラーの原因がわかり、成功したらaaaなんていう列は無いと怒られる。それで表示テストをしてみたところ、案の定mysqlへの接続に失敗し、その原因はmysql.socketが見つからないというものだった。私の場合はmysqlをインストールした際にmy.cnfでsocketの場所を変更してmysqlを稼動させていた。しかし、phpの標準ではmysql.socketは/var/run/mysqld/mysql.sockになければならないことになっていた。(環境によっては変わる) この情報はphpinfo()によっても確認することができる。したがってやることはこのmysql.socketの正しい場所をphp.iniへ設定するということになる。

mysql.default_socket =
mysqli.default_socket =

という2箇所がphp.iniに存在するので、そこへ実際のmysql.socketがある場所を設定する。その後apacheを再起動して、ブラウザでphpinfo()を確認する。正しく変更がされていればmysqlへ接続ができるようになる。

その後、xoopsは無事インストールできたのだけれど、問題が発生した。このxoopsというcmsツール、一体何をしたらいいのかわからない。参考書が必要なくらいに難解となっている。高機能掲示板を作りたいだけなのだけれど、これほど覚えることが多いと参ってしまう。javaで自作した方が長期的に見た場合マシかと思ってしまう・・・。

-php

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

xreaサーバーの管理画面からphpMyAdminにログインできない

2~3日嵌った。管理画面に書いてある説明が悪すぎる。なんどphpMyAdminにログインを試みても、 エラー #1045 – Access denied for user ‘n …

no image

xreaサーバで画像のアップロードができない

下記内容は間違っています。 こちらを参照 → Real UID could not be changed! について調べたことをメモ xreaサーバでwordpressを運用する場合のこと。記事の投稿 …

no image

nullとis_null

フォームからpostされたデータを受け取る場合、それがnullかnullでないかを判定するのにphpではis_nullメソッドを使うのが便利らしい。しかし、そのis_nullの挙動がどうもおかしい気が …