久しぶりにまじめな日記、というかメモ。
xreaのサーバーでopenPNEを使ってSNSを管理してるんだけど
どうもxreaのサーバーは癖があるらしくて問題が多いらしい。
・「ログインがすぐ途切れてしまう」
・「自動ログイン設定が反映されない」
などが結構困る問題だったのですが、先日やっと解決しました。
恐らく同様の問題を抱えてる人もいると思うので
ここに公開しておきます。
無事困ってる誰かが検索でひっかかって見てくれますように。
【自動ログイン設定】
openPNE version: 2.6.6.2
config.phpのline230にある(versionによってlineは多少違います)
//session_save_path('/tmp');
をまず変更します。
とりあえずコメントアウトされてしまっているので
//をはずしてください。
この際、xreaのアカウント名とopenpneが設置されている絶対アドレスが必要です。
例えばアカウント名がatelierでsnsというフォルダに設置されていたら
session_save_path('/virtual/atelier/public_html/sns');
という風に変更します。
これだけだとxreaだとphpエラーが出てしまうので
次にセッションをdbに保存する設定をします。
line67にある
define('SESSION_SAVE_DB', false);
をtrueに設定してください。
その後line100〜にあるdb設定をします。
// セッションデータ保存用DB(オプション)
//$GLOBALS['_OPENPNE_DSN_LIST']['session'] = array(
//'dsn' => array(
// 'phptype' => 'mysql',
// 'username' => '',
// 'password' => '',
// 'hostspec' => 'localhost',
// 'database' => '',
// 'new_link' => false,
// ),
//);
こちらもコメントアウトされてるので
//を全部はずす。
で、必要事項を書き込んでください。
// セッションデータ保存用DB(オプション)
$GLOBALS['_OPENPNE_DSN_LIST']['session'] = array(
'dsn' => array(
'phptype' => 'mysql',
'username' => 'xxxxx',
'password' => 'pppppppppp',
'hostspec' => 'localhost',
'database' => 'xxxxx',
'new_link' => false,
),
);
--
とりあえずこれで僕はできました。
うーむ、phpは他のプログラミング言語も
しっかり読めるようになったほうが
今後やりやすそうだなーーと
思うこのごろでした。

コメント (13)
検索でひっかかって見ました♪
書かれてるコト実行してみます
投稿者: くるまえび | 2007年07月05日 10:16
日時: 2007年07月05日 10:16
くるまえびさん>
おお!初めまして。
うまくいくことを願います!
投稿者: れお | 2007年07月05日 13:28
日時: 2007年07月05日 13:28
初めまして。
記事を参考に自動ログインできるようになりました。ありがとうございます。
ところで、ログアウトしたとき、真っ白な画面になりませんか?
リロードするとログイン画面が出ますが、そのままログインしても「サーバが混み合っているか、メンテナンス中です。」って言われませんか?
私はUsagiProjectのMyNETSの方に入れ替えてしまったので、OpenPNEで同症状が出ているか分かりませんが。
投稿者: Q | 2007年07月19日 18:26
日時: 2007年07月19日 18:26
Qさん>
書き込みありがとうございます!
僕もだいぶ四苦八苦したので、記事にしておけば
誰かの助けいなるかなと思い書いたので
助けになったようで良かったです!
ログアウトの現象は僕のではならないですね…。
なんでしょう?
xreaは安くて便利なのですが癖がありすぎて
悩ましいですよね 苦笑
投稿者: れお | 2007年07月19日 18:55
日時: 2007年07月19日 18:55
MyNEST特有のものかもしれません(OpenPNE2.4系相当なので)。
今までXserverを使用していて,Xoopsのサイトはこちらなのですが、キャッチオールができないということでXreaにしてみました。Xreaでは逆にコマンドへの転送ができませんが、サポート掲示板があるので色々と勉強になっています。
ログアウトの件はUsagiProjectの方で調べてもらっています。ありがとうございました。
投稿者: Q | 2007年07月20日 14:30
日時: 2007年07月20日 14:30
一応解決したのでご報告です。
結果、セッション情報をDBに格納するさい、session_save_path部分のコメントを外す必要はないそうです。
逆にDBは使用せず、session_save_pathで指定し、そのフォルダのパーミッションを書き込み可能にしてやると自動ログインが有効になりました。
私が試したのはMyNETSで、OpenPNEでも同様か分かりませんが。
投稿者: Q | 2007年07月21日 16:21
日時: 2007年07月21日 16:21
Qさん>
色々と報告ありがとうございます!
僕もどんどんいろんなものを導入していきたいと思っているので
必要になったときにはぜひ参考にさせていただきます。
ありがとうございます!
投稿者: れお | 2007年07月22日 03:46
日時: 2007年07月22日 03:46
同じところで引っかかってたので
非常に助かりました
投稿者: きょこ | 2008年04月03日 22:51
日時: 2008年04月03日 22:51
きょこさん>
わー、コメントありがとうございます。
解決できたみたいで良かったです!
投稿者: れお | 2008年04月04日 22:06
日時: 2008年04月04日 22:06
はじめまして。
おかげさまで助かりました。
OpenPNE virsion2.12.1だと
config.phpで
define('SESSION_STORAGE', 1);
と設定するとうまく作動しました。
ありがとうございました!
投稿者: 東京太郎 | 2008年07月02日 23:50
日時: 2008年07月02日 23:50
おかげさまで解決しました。
とても助かりました。
2.15.5でインストールしました。
旧バージョンはわかりませンが、2.15.5ではログインセッションの保存先をデータベースのほかに、webサーバ上の任意のフォルダに設定することができるようです。
以下、参考までに。
(77-81)
// セッション情報を保存するストレージ
// 0:ファイル
// 1:データベース
// 2:memcache(要PECL::memcache)
define('SESSION_STORAGE', 0);
(258-262)
ini_set('session.gc_probability',1);
ini_set('session.gc_divisor',10000);
ini_set('session.gc_maxlifetime', 432000); // 5 days
session_save_path('/任意のフォルダまでのサーバのフルパス/');
投稿者: かつを | 2008年10月25日 19:54
日時: 2008年10月25日 19:54
失礼、上記記載バージョン間違えました。
誤)2.15.5 → 正)2.12.5
投稿者: かつを | 2008年10月25日 20:43
日時: 2008年10月25日 20:43
>かつおさん
コメント&報告ありがとうございます!
やはりみな通る道なんですねw
ブログにあげといて良かった。
投稿者: れお | 2008年10月27日 19:51
日時: 2008年10月27日 19:51