Missing base_urlが表示されて、インストールできない。 【解決済み】
Missing base_urlが表示されて、インストールできない。
こんにちは、いつもお世話になっております。
下記の環境下で、MODXがインストールできなくて困っております。
お力を貸していただけたら幸いです。
-----
利用サーバ:WADAXサーバー(Gタイプ、マルチドメイン可)
MODXのバージョン:1.0.14J-r7
PHPのバージョン:5.3.3
MySQLのバージョン:5.1.73
-----
インストール用のデータを一式、FTPでアップロードした後、
index.phpにアクセスすると、下記のエラーメッセージが表示され、
インストール画面に移行できません。
Missing base_url
どうも、manager/include/initialize.inc.phpの所でひっかかっていて、
PHPの環境変数の値に問題があるような感じです。
(以下、serveridは任意の数字、usernameは任意の文字列)
["DOCUMENT_ROOT"]=>
string(26) "/home/homepage/public_html"
["SCRIPT_FILENAME"]=>
string(56) "/home/serverid/username/public_html/index.php"
["REQUEST_URI"]=>
string(29) "/~username/index.php"
["SCRIPT_NAME"]=>
string(29) "/~username/index.php"
["PHP_SELF"]=>
string(29) "/~username/index.php"
ドメインを設定する前の、借りたての状態で作業をしていて、
ブラウザからは下記のアドレスでアクセスすることになります。
http://wx00.wadax.ne.jp/~username/
ドメイン設定後であれば、問題ないのではないかと思われますが、
他所からの引っ越しのために、
ドメイン設定前にサイトを準備しておく必要があって、
どうしたものかと考えあぐねています。
解決策はありそうでしょうか?
下記の環境下で、MODXがインストールできなくて困っております。
お力を貸していただけたら幸いです。
-----
利用サーバ:WADAXサーバー(Gタイプ、マルチドメイン可)
MODXのバージョン:1.0.14J-r7
PHPのバージョン:5.3.3
MySQLのバージョン:5.1.73
-----
インストール用のデータを一式、FTPでアップロードした後、
index.phpにアクセスすると、下記のエラーメッセージが表示され、
インストール画面に移行できません。
Missing base_url
どうも、manager/include/initialize.inc.phpの所でひっかかっていて、
PHPの環境変数の値に問題があるような感じです。
(以下、serveridは任意の数字、usernameは任意の文字列)
["DOCUMENT_ROOT"]=>
string(26) "/home/homepage/public_html"
["SCRIPT_FILENAME"]=>
string(56) "/home/serverid/username/public_html/index.php"
["REQUEST_URI"]=>
string(29) "/~username/index.php"
["SCRIPT_NAME"]=>
string(29) "/~username/index.php"
["PHP_SELF"]=>
string(29) "/~username/index.php"
ドメインを設定する前の、借りたての状態で作業をしていて、
ブラウザからは下記のアドレスでアクセスすることになります。
http://wx00.wadax.ne.jp/~username/
ドメイン設定後であれば、問題ないのではないかと思われますが、
他所からの引っ越しのために、
ドメイン設定前にサイトを準備しておく必要があって、
どうしたものかと考えあぐねています。
解決策はありそうでしょうか?
Re: Missing base_urlが表示されて、インストールできない。
ちょっとしたことで解決できそうに見えます。お使いのサーバのプランは試用はできますか?試用できるなら実際にインストールして修正してみます。
Re: Missing base_urlが表示されて、インストールできない。
yamaさん、ご返信いただきありがとうございます。
サーバーはWADAXのGタイプですが、調べてみましたが、残念ながら試用はできないようです。
知り合いがパッチを書いてくれて、とりあえずインストールはできたのですが、
modxをよく知らないため、ここだけの変更で良いのかわからない…とのことでした。
もし差し支えなければ、コードを見ていただいてもよろしいでしょうか?
initialize.inc.phpの108行目あたりからを下記に変更しました。
※テスト用のecho文を削除しました。(19:45)
サーバーはWADAXのGタイプですが、調べてみましたが、残念ながら試用はできないようです。
知り合いがパッチを書いてくれて、とりあえずインストールはできたのですが、
modxをよく知らないため、ここだけの変更で良いのかわからない…とのことでした。
もし差し支えなければ、コードを見ていただいてもよろしいでしょうか?
initialize.inc.phpの108行目あたりからを下記に変更しました。
コード: 全て選択
function get_base_url($base_path)
{
if(defined('IN_MANAGER_MODE'))
{
if(strpos($_SERVER['REQUEST_URI'],'/manager/')!==false)
return substr($_SERVER['REQUEST_URI'],0,strrpos($_SERVER['REQUEST_URI'],'/manager/')) . '/';
elseif(strpos($_SERVER['REQUEST_URI'],'/assets/')!==false)
return substr($_SERVER['REQUEST_URI'],0,strrpos($_SERVER['REQUEST_URI'],'/assets/')) . '/';
}
$SCRIPT_NAME = preg_replace('/^\/~[a-zA-Z0-9\-]+\//','/',$_SERVER['SCRIPT_NAME']);
$REQUEST_URI = preg_replace('/^\/~[a-zA-Z0-9\-]+\//','/',$_SERVER['SCRIPT_NAME']);
if(strpos(str_replace('\\','/',$_SERVER['SCRIPT_FILENAME']),$SCRIPT_NAME)===false)
{
if(strpos(str_replace('\\','/',$_SERVER['SCRIPT_FILENAME']),'/install/index.php')!==false)
return substr($REQUEST_URI,0,strrpos($REQUEST_URI,'/install/')) . '/';
else {
echo 'Missing base_url';
exit;
}
}
$pos = strlen($_SERVER['SCRIPT_FILENAME']) - strlen($SCRIPT_NAME);
$dir = substr($_SERVER['SCRIPT_FILENAME'],$pos);
$dir = str_replace('\\', '/', $dir);
$dir = substr($dir,0,strrpos($dir,'/')) . '/';
$dir = preg_replace('@(.*?)/manager/.*$@', '$1', $dir);
$dir = preg_replace('@(.*?)/assets/.*$@', '$1', $dir);
if(substr($_SERVER['REQUEST_URI'],0,2)==='/~') $dir = '/~' . substr($dir,1);
$dir = rtrim($dir, '/') . '/';
return $dir;
}
最後に編集したユーザー ethmo [ 2015年1月05日(月) 19:45 ], 累計 1 回
Re: Missing base_urlが表示されて、インストールできない。
$_SERVER['SCRIPT_NAME']と$_SERVER['REQUEST_URI']の値をそのまま使わず、チルダ付きのユーザ名バーチャルディレクトリ?の文字列を削除してますね。また、インストール時のみ、$_SERVER['REQUEST_URI']は$_SERVER['SCRIPT_NAME']の値と同じにしてますね。
後ほど、もう少し見てみます。実際に試せる同等条件のサーバがあるか探してみます。
後ほど、もう少し見てみます。実際に試せる同等条件のサーバがあるか探してみます。
Re: Missing base_urlが表示されて、インストールできない。
見ていただいて、ありがとうございます。
$_SERVER['SCRIPT_NAME']と$_SERVER['REQUEST_URI']の値に、チルダ付きのユーザー名が入ってしまうのが、
インストール画面の表示されない原因だったようなので、そこを整合性が取れるように修正したみたいでした。
お手数おかけしますが、よろしくお願いします。
$_SERVER['SCRIPT_NAME']と$_SERVER['REQUEST_URI']の値に、チルダ付きのユーザー名が入ってしまうのが、
インストール画面の表示されない原因だったようなので、そこを整合性が取れるように修正したみたいでした。
お手数おかけしますが、よろしくお願いします。
Re: Missing base_urlが表示されて、インストールできない。 【解決済み】
コード: 全て選択
if(!isset($base_path)) $base_path = $init->get_base_path();
if(!isset($base_url)) $base_url = $init->get_base_url($base_path);
if(!isset($site_url)) $site_url = $init->get_site_url($base_url);
コード: 全て選択
<?php
$base_url = '/~username/';
Re: Missing base_urlが表示されて、インストールできない。
yamaさん、ありがとうございました。
autoload.phpの設置で、インストールできました。
大変助かりました。
今、サイトを作り込んでいるところですが、動作に問題はないようです。
何か気になる症状が出たら、また書き込ませていただきます。
ひとまず解決ということで、本当にありがとうございました。
autoload.phpの設置で、インストールできました。
大変助かりました。
今、サイトを作り込んでいるところですが、動作に問題はないようです。
何か気になる症状が出たら、また書き込ませていただきます。
ひとまず解決ということで、本当にありがとうございました。
Re: Missing base_urlが表示されて、インストールできない。
お世話になってます。
先日は、インストールのトラブルを解決していただいてありがとうございました。
大変助かりました。
実は、対象であるサイトが、
将来的にドメインが下記のように、独自ドメインに変更になるのですが、
http://wx00.wadax.ne.jp/~username/
↓
http://domain.com/
その場合は、ルート直下に置いてあるautoload.phpは削除した方が良いでしょうか?
注意点があれば教えてください。
どうぞよろしくお願いいたします。
先日は、インストールのトラブルを解決していただいてありがとうございました。
大変助かりました。
実は、対象であるサイトが、
将来的にドメインが下記のように、独自ドメインに変更になるのですが、
http://wx00.wadax.ne.jp/~username/
↓
http://domain.com/
その場合は、ルート直下に置いてあるautoload.phpは削除した方が良いでしょうか?
注意点があれば教えてください。
どうぞよろしくお願いいたします。
Re: Missing base_urlが表示されて、インストールできない。
はい、独自ドメインに変わった時は削除してください。
Re: Missing base_urlが表示されて、インストールできない。
早速の返信ありがとうございます!
了解いたしました!
了解いたしました!