Forum
J! JAPAN TOP
ようこそ, ゲスト
ユーザ名: パスワード: 自動ログイン

トピック: J!1.5で、ユーザログイン機能がうまく動作しない

J!1.5で、ユーザログイン機能がうまく動作しない 12 年 4 ヶ月 ago #82

  • buchitag
  • buchitag さんのアバター
  • Offline
  • Fresh Boarder
  • 投稿数: 4
  • カルマ: 0
どちらでお聞きすべきか迷ったのですが、こちらでお許しください。
J!1.5.7をいくつかのレンタルサーバで使っているのですが、
どのサーバでもユーザログイン機能がうまく動作せずにいます。
現在は1.5.7ですが、1.5.6でも同じような状況でした。

具体的には、
Fatal error: Call to undefined function: stripos() in /home/*****/libraries/joomla/environment/uri.php on line 675
というエラーメッセージが出ます。

これだけ見ると、stripos()という関数が見つからないんだな、という
ことだけは分かるのですが、いったい何が悪くてそうなるのか…。

ちなみに、1.0.xでは、問題なく動いていたのですが、
1.5では、複数のレンタルサーバで同じ状況なので、
システムではなく、自分の基本設定のどこかが間違って
いるのではないかと思っています。

どなたか、この現象お分かりになる方いらっしゃいませんでしょうか。
よろしくお願い申し上げます。
ゲストの書き込みは許可されていません。

Re:J!1.5で、ユーザログイン機能がうまく動作しない 12 年 3 ヶ月 ago #84

  • siraisi
  • siraisi さんのアバター
  • Offline
  • Platinum Boarder
  • 投稿数: 462
  • 感謝を受け取りました 47
  • カルマ: 32
レンタルサーバのPHPがjoomla!1.5の動作環境とあっていないのではないでしょうか。
mail: このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。
ゲストの書き込みは許可されていません。

Re:J!1.5で、ユーザログイン機能がうまく動作しない 12 年 3 ヶ月 ago #89

  • buchitag
  • buchitag さんのアバター
  • Offline
  • Fresh Boarder
  • 投稿数: 4
  • カルマ: 0
ありがとうございます。そういう事もあるのですね…。
私の方でそのような現象が起きているのは
ロリポップサーバとXbitです。

逆にちゃんと動作するサーバをご存知でしたらお教え願えればと存じます。
ゲストの書き込みは許可されていません。

Re:J!1.5で、ユーザログイン機能がうまく動作しない 12 年 3 ヶ月 ago #90

  • siraisi
  • siraisi さんのアバター
  • Offline
  • Platinum Boarder
  • 投稿数: 462
  • 感謝を受け取りました 47
  • カルマ: 32
ロリポップは近々PHP5(CGI版ですが)に移行するようです。
lolipoking.lolipop.jp/php/patio.cgi?mode=view&no=3173

個人のサイトぐらいでしたら、CoreServer(共用サーバ)などどうでしょうか。私も使っています。さくらサーバもおすすめですかね。
それ以上のサーバ性能を求められるのでしたらVPSなどになるのでしょうか。
mail: このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。
ゲストの書き込みは許可されていません。

Re:J!1.5で、ユーザログイン機能がうまく動作しない 12 年 3 ヶ月 ago #91

  • karo
  • karo さんのアバター
  • Offline
  • Fresh Boarder
  • 投稿数: 12
  • カルマ: 2
取りあえず現サーバで動作させたい場合、参考にしてみて下さい。

同じ現象を発生させる事ができ、当面の対応についても記述してみました。
対応については、申し訳ありませんが自己責任でお願いします。

誤り,もっと良い方法があればフォローお願いします > ご覧の皆様

以下を見ると

help.joomla.jp/installmanual15/341-minim...em-requirements.html
4.3.10 or above なので、Joomla! のバグだとも言えそうですが。


【現象再現環境】

PHP: 4.4.4-8+etch6
Joomla!: 1.5.7

ただ、質問に書かれている 「1.5.6 でも同じような状況でした。」に少し疑問が
残ります。1.5.6 ja-JP ではこの現象は出ませんでした。
ソースを検索したのですが、1.5.6 ja-JP では stripos() を利用していない様に
見受けられます。

※1.5.7 にバージョンアップした際のファイル内で利用している様なのですが。


【原因】

PHP のバージョン 4 では、stripos() 関数自体が存在しない様です。


【対処について】

下記ファイルは、RSS,Atom feed 用ライブラリの様ですがこれを利用すれば
簡単に対応出来そうです。

ファイル
  libraries/simplepie/simplepie.php
内の、
  function stripos($haystack, $needle, $offset = 0)


【対処法】

上記対処についての実現方法です。
libraries/joomla/environment/uri.php
を以下で修正します(戻せる様、バックアップを取って修正して下さい)。


675行目 をコメントにする(元を残すためだけです)
676,677行目 を下記内容で追加

671 function isInternal($url) {
672 $uri =& JURI::getInstance($url);
673 $base = $uri->toString(array('scheme', 'host', 'port', 'path'));
674 $host = $uri->toString(array('scheme', 'host', 'port'));

675 // if(stripos($base, JURI::base()) !== 0 && !empty($host)) {
676 require_once(JPATH_BASE.DS.'libraries'.DS.'simplepie'.DS.'simplepie.php');
677 if(SimplePie_Misc::stripos($base, JURI::base()) !== 0 && !empty($host)) {

678 return false;
679 }
680 return true;
681 }


【余談】

help.joomla.jp/installmanual15/341-minim...em-requirements.html
のMySQL 3.23.x or above 記述にも問題があるのでは?

MySQL は、4.1 以上でないと UTF-8 が利用出来ないので検索に問題が起きると思います。
上記URLは、英語版の話ですかね?
→さくらサーバの MySQL は、4.0 なので Joomla! にはお勧め出来ないと思います。
 (検索系以外は、問題なく動いている様ですが。
  私はさくら利用しているので検索は自作です。)
ゲストの書き込みは許可されていません。

Re:J!1.5で、ユーザログイン機能がうまく動作しない 12 年 3 ヶ月 ago #92

  • buchitag
  • buchitag さんのアバター
  • Offline
  • Fresh Boarder
  • 投稿数: 4
  • カルマ: 0
ありがとうございます。stripos()関数を巡るPHPバージョンの問題ということが分かりました。

siraisiさんのおっしゃるように、ロリポのPHP5移行の連絡は私の方にもきておりました。ただ、Joomla!のほうがPHP5に対応するのはver.2とも聞いていたので実際に移行させるかどうか(PHP5に移行する機能がつくそうです)は迷っておりました。ご紹介のサーバは、お試し期間があるようですので、トライしてみようと思います。

karoさんに教えていただいた、uri.phpの修正で、ユーザ登録とログイン機能を動作させることができました。ご指摘のようにJ!のバグと言えるのかもしれませんが、次バージョンから変えてくるかどうかは怪しいので、エラーで関数が記載されてたらPHPで使えるバージョンを自分で調べるなど出来るようになりたいと思います。

一通り動くようにはなったのですが、アカウントの新規登録後に通常であれば、登録を受け付けましたという内容のメッセージが、ユーザログインのID・PWが間違っていればその旨のエラーメッセージがそれぞれ表示されていたと思いますが、これがないままにトップページに戻る、という動きになっていました。

これらのメッセージの有無がstripos()関数と関与していたのでしょうか…。
ただ、このあたりまではJ!の内部を修正して対処するのは、実際的でないと思いますので、サーバの方を見直したいと思います。
ゲストの書き込みは許可されていません。

Re:J!1.5で、ユーザログイン機能がうまく動作しない 12 年 3 ヶ月 ago #93

  • karo
  • karo さんのアバター
  • Offline
  • Fresh Boarder
  • 投稿数: 12
  • カルマ: 2
> 一通り動くようにはなったのですが、アカウントの新規登録後に通常であ
> れば、登録を受け付けましたという内容のメッセージが、ユーザログイン
> のID・PW が間違っていればその旨のエラーメッセージがそれぞれ表示さ
> れていたと思いますが、これがないままにトップページに戻る、という動
> きになっていました。

上記ですが、私の環境では以下のメッセージが表示されますが、この事でし
ょうか?

・アカウントの作成を行った後
 あなたのアカウントは作成され有効化するためのリンクを含んだメールが
 あなたが入力したEメールアドレスに送信されました。
 ログインする前に、受信したEメールに書かれたURLをクリックして
 アカウントを有効にしてください

・パスワードを誤った場合
 ユーザ名とパスワードが一致しません。


もしこの事を意味しているのであれば、テンプレートを変えているからでは
ないでしょうか?

テンプレート内に、
 <jdoc:include type="message" />
の記述があるテンプレートでしょうか?

なければ、メッセージは表示されないと思います。
→テンプレートをデフォルトの "JA_Purity" or "beez" or "rhuk_milkyway"
 にすると表示される事は確認しました。これだとどうなるでしょうか?
ゲストの書き込みは許可されていません。

Re:J!1.5で、ユーザログイン機能がうまく動作しない 12 年 3 ヶ月 ago #96

  • buchitag
  • buchitag さんのアバター
  • Offline
  • Fresh Boarder
  • 投稿数: 4
  • カルマ: 0
すみません。まったくもってその通りでした…。
私はいったい何を…orz
ゲストの書き込みは許可されていません。