LOGIN ID Password Auto Login Register Now! Lost Password?
Xoops Q&A

ロリポップ上でxoopsをインストールしているのですが。。。

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2014/6/9 16:07
satoaya  2nd Class   投稿数: 11
ロリポップのサーバーに、下記のマニュアルを参照しながら、
xoopsをインストールしていたのですが、

http://lolipop.jp/manual/blog/xoops/#p-upload-05

インストールの1stステップは完了しました。というメッセージがでて、第2ステップのインストールに進むと、

arning: Invalid argument supplied for foreach() in /home/users/0/lolipop.jp-xxxxxxxxxxx/web/xoops/core/XCube_Controller.class.php on line 431

Parse error: syntax error, unexpected '*' in /home/users/0/lolipop.jp-xxxxxxxxxxx/web/xoops/satochan_path/libs/smarty/Smarty_Compiler.class.php on line 740
Warning [PHP]: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/users/0/lolipop.jp-xxxxxxxxxxx/web/xoops/core/XCube_Controller.class.php:431) in file core/XCube_Session.class.php line 78
Warning [PHP]: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/users/0/lolipop.jp-ruritateha0728/web/xoops/core/XCube_Controller.class.php:431) in file core/XCube_Session.class.php line 78

というメッセージが出たので、installのフォルダーを削除して、mainfile.phpのパーミッションを400に変えて、再度、第2インストールに進んだところ、404 file not foundのエラーが出てしまいます。

xoops初心者のため、どこがおかしいのか分かりかねております。
どなたか教えていただけると幸いです。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014/6/9 23:37
nao-pon  Lieutenant   投稿数: 486
satoaya さん、こんにちは。

ロリポップなら、 setup.cgi による簡単インストールができるかも知れません。

まずは、setup.cgi の利用をお試し下さい。

setup.cgi を XOOPS をインストールしたいディレクトリにアップロードし、パーミッション 700 などにして実行権限を与え、ブラウザで当該 URL へアクセスしてください。

XOOPS_TRUST_PATH を指定を確認しインストールを進めて下さい。

詳しくは、XOOPS Cube日本サイト - doc : XoopsX (ten) Distribution [Distributions/XoopsX] などを参考にして下さい。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014/6/10 22:06
satoaya  2nd Class   投稿数: 11
ありがとうございます!無事にインストールが終わりxoops cubeのフロントページが見れました。

Warning: Invalid argument supplied for foreach() in /home/users/0/lolipop.jp-ruritateha0728/web/xoops/core/XCube_Controller.class.php on line 431

しかし、上記のエラーメッセージが出たため、下記のファイル(XCube_Controller.class.php)の中のforeach()に該当する箇所を調べたところ、下記の5か所が見つかりました。

コードが書けないため教えていただきたいのですが、上記エラーを消すためには、下記の部分をどのように変更すればよろしいのでしょうか。

foreach (array_keys($this->_mFilterChain) as $key) {
foreach(array_keys($this->mBlockChain) as $key) {
foreach (array_keys($this->_mFilterChain) as $key) {
foreach (array_reverse(array_keys($this->_mFilterChain)) as $key) {
foreach (glob($path.'/*.class.php') as $file) {

お忙しいところすみませんが、ご教示頂ければ幸いです。*/
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014/6/11 9:34
nao-pon  Lieutenant   投稿数: 486
> Warning: Invalid argument supplied for foreach() in /home/users/0/lolipop.jp-ruritateha0728/web/xoops/core/XCube_Controller.class.php on line 431

XCube_Controller.class.php の 431行目なので

foreach (glob($path.'/*.class.php') as $file) {

ですね。
ただ、ここでエラーが出るのは不可解ですね。

$files = @glob($path.'/*.class.php');
if (! is_array($files)) {
    return;
}
foreach ($files as $file) {

こうすることで、エラーは表示されなくなると思いますが、きちんと原因を突き止めたほうがよいと思うので

$files = @glob($path.'/*.class.php');
if (! is_array($files)) {
    var_dump($files);
    var_dump($path);
    exit();
}
foreach ($files as $file) {

として、何が表示されるか確認して下さい。*/
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014/6/11 9:47 | 最終変更
nao-pon  Lieutenant   投稿数: 486
興味深い記事が見つかりました。

- Tips/PHP/glob関数の挙動と回避策 - コネクト株式会社 技術情報コンテンツ
引用:
パターンにマッチするファイル名が存在しないケースでは、 Linuxではarray()が、Linux以外のOSではFALSEが返ります。

XCube_Controller.class.php の当該部分では、マッチするものがない場合は array()「空の配列」を期待しているのでサーバー OS によっては、エラーになるということですね。

XCube_Controller.class.php に修正を入れたいと思います。

426行目からの _processPreload() 関数
	function _processPreload($path)
	{
		$path = $path . "/";
		
		if (is_dir($path) && ($files = glob($path.'/*.class.php'))) {
			foreach ($files as $file) {
				require_once $file;
				$className = basename($file, '.class.php');
				if (XC_CLASS_EXISTS($className) && !isset($this->_mLoadedFilterNames[$className])) {
					$this->_mLoadedFilterNames[$className] = true;
					$instance = new $className($this);
					$this->addActionFilter($instance);
					unset($instance);
				}
			}
		}
	}
*/
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014/6/11 22:53
satoaya  2nd Class   投稿数: 11
nao-ponさん、ありがとうございます!!
426行目からの _processPreload() 関数を書き換えることで、エラー表示が無くなりました!
心からお礼申し上げます。m(_ _)m
投票数:1 平均点:10.00
  条件検索へ

Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities