- 締切済み
Codeigniterの使い方を教えていただけないでしょうか
はじめまして。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がうまく認識できていないようで、 設定上の問題のように思われますが、原因は特定できておらず、 困り果てた挙句、ご質問させていただきました。 お忙しいところ大変恐縮ですが、アドバイスいただければ幸いです。 何卒宜しくお願い申し上げます。
- みんなの回答 (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に対してデバッグしても動かないのは当たり前だろうと思う。その解説書に、その方法でデバッグできると書いてあったんだろうか。だとすると、どこかで何か勘違いしているような気がするんだが。
お礼
お忙しい中、ご丁寧なアドバイスいただき有難う御座いました。 http://localhost/CodeIgniter/hello ではなく http://localhost/CodeIgniter/index.php/hello http://localhost/CodeIgniter/index.php/hello/index としてアクセスすると正常動作を確認できました。 大変助かりましたことをお礼申し上げます。