プロが教えるわが家の防犯対策術!

はじめまして。Codeigniter初心者です。

「CodeIgniter徹底入門」の書籍を参考にして、
XAMPP+Eclipse環境(Windows Vista、Linux(CentOS))
を構築してみました。

諸設定を行い、EclipseよりPHPプロジェクトを作成し、
Codeigniterをインポートしています。

XAMPPコントロールパネルよりApacheを起動後、
Vista、CentOSよりブラウザで下記のURLにアクセスし、
「CodeIgniterへようこそ!」ページが表示されるところまで
確認できました。
http://localhost/CodeIgniter/

その後、参考書(「コントローラで"Hello World!"を作る」)に
記載されているサンプルコード(下記参照)をそのまま使用して
hello.phpを
CodeIgniter/system/application/controllers
配下に作成しました。

hello.php
---------------------------------------
<?php
class Hello extends Controller {
function index()
{
echo 'Hello World!';
}
}
?>
---------------------------------------

Vista、CentOSのEclipseより
Codeigniter/system/application/controllers/hello.php
を右クリックして「デバッグ」→「PHP Web ページ(1)」を選択して
デバッグを開始しますと下記のエラー(Vistaでのもの)が
発生してしまいます。(Vista、CentOSともに)
-------------------------------------------------------------
Fatal error: Class 'Controller' not found in
C:\xampp\htdocs\CodeIgniter\system\application\controllers\hello.php on line 2
-------------------------------------------------------------

また参考書には、ブラウザで
http://localhost/CodeIgniter/hello
のURLにアクセスすると「Hello World!」が表示されると
記載されていましたが、下記のエラーが表示されます。
----------------------------------------------------------------------
Object not found!
要求された URL は本サーバでは見つかりませんでした。
もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。

サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。

Error 404
localhost
04/17/09 20:00:04
Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8
----------------------------------------------------------------------

フレームワークのControllerがうまく認識できていないようで、
設定上の問題のように思われますが、原因は特定できておらず、
困り果てた挙句、ご質問させていただきました。

お忙しいところ大変恐縮ですが、アドバイスいただければ幸いです。
何卒宜しくお願い申し上げます。

A 回答 (1件)

ちょっと状況が見えないが。

CodeIgniter本体がどう配置されているのかよくわからないので、常識的なことしか書けないが。

まず、config.phpを確認。正しく記述されているか。これは基本中の基本なので念のため。

http://localhost/CodeIgniter/index.php/hello/index にアクセスして正しく動いているか。もし、これで動いていて、http://localhost/CodeIgniter/hello で動かないのであれば、CodeIgniter自体は正常に動いている。単純に.htaccessなどURLのリライト設定あるいはhttpd.confのAllow from all設定などが正しく記述されていないということだろうと思う。その辺を再度確認する。

>Codeigniter/system/application/controllers/hello.php
>を右クリックして「デバッグ」→「PHP Web ページ(1)」を選択して

これは、動かないんでないか。そもそもCodeigniter/system/application/controllers/hello.phpのアドレスで公開されていないはず。http://localhost/CodeIgniter/helloとかで公開されているわけで、Codeigniter/system/application/controllers/hello.phpに対してデバッグしても動かないのは当たり前だろうと思う。その解説書に、その方法でデバッグできると書いてあったんだろうか。だとすると、どこかで何か勘違いしているような気がするんだが。
    • good
    • 0
この回答へのお礼

お忙しい中、ご丁寧なアドバイスいただき有難う御座いました。

http://localhost/CodeIgniter/hello
ではなく
http://localhost/CodeIgniter/index.php/hello
http://localhost/CodeIgniter/index.php/hello/index
としてアクセスすると正常動作を確認できました。

大変助かりましたことをお礼申し上げます。

お礼日時:2009/04/17 23:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!