![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
---------------------------
CakePHPバージョン:1.3.14.
PHPバージョン:5.3.3
Apacheバージョン:2.2.3
---------------------------
CakePHPを始めたばかりです。
インストールを完了し、トップページでのhello world!の表示は出来ました。
(トップページだけは特例のようですね)
http://www.example.com/test/hello という形でhello world!を表示させたいと思い下記のようにファイルを作りUPしましたが、エラーが表示されてしまいました。
何を変更すればうまくファイルが表示されるのかを教えていただければと思います。
test_controller.php
----------------------------------------------------------
class TestController extends AppController {
public $name = "Test";
public $uses = null;
public $autoRender = true;
function index(){
}
function hello(){
$this->set("content", "Hello World!");
}
}
----------------------------------------------------------
http://www.example.com/test/hello
(エラーメッセージ)
-------------------------------------------------------------------------------
Warning: include(cake/bootstrap.php): failed to open stream: No such file or directory in /var/www/html/example.com/test.php on line 76
Warning: include(): Failed opening 'cake/bootstrap.php' for inclusion (include_path='/var/www:/var/www/html/:.:/php/includes:/usr/share/pear') in /var/www/html/example.com/test.php on line 76
Fatal error: CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your /cake core directory and your /vendors root directory. in /var/www/html/example.com/test.php on line 77
-------------------------------------------------------------------------------
bootstrap.phpというファイル名が出てきているので、bootstrap.phpを見てみましたが何が間違っているのかはわかりません。
include_pathも出てきているので、cakephpのパスを通しておく必要があるのでしょうか?
bootstrap.php
-------------------------------------------------------------
if (!defined('PHP5')) {
define('PHP5', (PHP_VERSION >= 5));
}
if (!defined('E_DEPRECATED')) {
define('E_DEPRECATED', 8192);
}
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT);
require CORE_PATH . 'cake' . DS . 'basics.php';
$TIME_START = getMicrotime();
require CORE_PATH . 'cake' . DS . 'config' . DS . 'paths.php';
require LIBS . 'object.php';
require LIBS . 'inflector.php';
require LIBS . 'configure.php';
require LIBS . 'set.php';
require LIBS . 'cache.php';
Configure::getInstance();
require CAKE . 'dispatcher.php';
-------------------------------------------------------------
(全体の設定状況など)
.htaccess
httpd.conf
あたりの設定が間違っているのかと思い、ネットで情報を調べていろいろ変更したりしてみましたがダメでした。
あと一つ気になる点としては、公開ディレクトリ以外をUPしているディレクトリ名をcakeにしてしまっているところです。(cakeというディレクトリ名はダメとかあるのでしょうか?)
ディレクトリの構成と設定の内容を下記に記載します。
[/var/cake]プログラムファイル
/var/cake/app
/var/cake/plugins
/var/cake/vendors
/var/cake/.htaccess
/var/cake/index.php
公開ディレクトリ(ルート)
css
files
img
js
.htaccess
css.php
index.php
##############################################################
.htaccessの設定
##############################################################
3か所ほど設定すべきところがあるようなので下記のように設定しました。
/var/cake/.htaccess
-------------------------------------------------
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cake
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
-------------------------------------------------
/var/cake/app
-------------------------------------------------
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cake/app
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
-------------------------------------------------
公開ディレクトリの.htaccessの設定
-------------------------------------------------
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
-------------------------------------------------
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?8acaa2e)
No.1ベストアンサー
- 回答日時:
公開ディレクトリ(ルート)にあるindex.phpの中においてパスの指定を現状のディレクトリ構造に合うように変更する。
通常、変更すべき定数は3つ(ROOT、APP_DIR、CAKE_CORE_INCLUDE_PATH)です。
1.* The full path to the directory which holds "app", WITHOUT a trailing DS.
define('ROOT','ほげほげ');
アプリディレクトリのある直前までのパス
2.* The actual directory name for the "app".
define('APP_DIR', 'なんちゃら');
アプリディレクトリ自体の名前
3.* The absolute path to the "cake" directory, WITHOUT a trailing DS.
define('CAKE_CORE_INCLUDE_PATH', ROOT);
変更不要かも。よく確認してもし必要なら1番ROOT以外のパスを指定する
参考URL:http://book.cakephp.org/1.3/ja/view/915/%E5%BF%9 …
この回答への補足
ご回答ありがとうございます。
教えていただいた情報を参考にファイルを変更してみました。
ページが全く表示されなかった状態から、エラーメッセージが表示されるようになったので少し前に進むことができました。
CakePHPの下記のページに沿って設定しました。
http://cakephp.jp/old_doc/ch03s04.html
今まで.htaccessのRewriteBaseを使ったことが無く、そのあたりが怪しい気がします。
---ディレクトリ構成--------------------------
[アプリケーションディレクトリ]
/var/me/mysite
[公開ディレクトリ] (ドメイン名が公開ディレクトリになっています)
/var/www/html/ドメイン名/mysite
[コアファイルディレクトリ]
/usr/lib/cake
---------------------------------------------
---公開ディレクトリのindex.phpの設定-------------------------
if (!defined('ROOT')) {
define('ROOT', DS.'var'.DS.'me');
}
if (!defined('APP_DIR')) {
define('APP_DIR', 'mysite');
}
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
define('CAKE_CORE_INCLUDE_PATH', DS.'usr'.DS.'lib'.DS.'cake');
}
-------------------------------------------------------------
---.htaccessの設定]------------------------------------------------------
(1)
アプリケーションディレクトリ /var/me/mysite/.htaccess に以下を追加
RewriteBase /var/me/mysite
(2)
公開ディレクトリ /var/www/html/ドメイン名/mysite/.htaccess に以下を追加
RewriteBase /mysite
(3)
コアファイルディレクトリ /usr/lib/cake/.htaccess に以下を追加
RewriteBase /cake
-------------------------------------------------------------------------
テストのコントローラーファイルをアップ
<?php
class SampleController extends AppController {
public $name = "Sample";
public $uses = null;
public $autoRender = true;
function index(){
}
function hello(){
$this->set("content", "Hello World!");
}
}
?>
■http://www.example.com/mysite/sample/helloを表示
(結果)
Missing View
[Error: The view for SampleController::hello() was not found.]
[Error: Confirm you have created the file: /var/me/mysite/views/sample/hello.ctp]
[Notice: If you want to customize this error message, create mysite/views/errors/missing_view.ctp]
この状態から抜け出すにはどのようにしたらよいか教えていただければと思います。
よろしくお願いします。
honoka-cha様
その後、DBの値を表示する例が掲載されているサイトの情報を参考にしてみたところ、うまく表示することができました。
環境設定は上記の補足の状態でOKだということがわかりました。
有意義な回答ありがとうございました。
環境設定が終わりCakePHPを学んでいく体制ができたのでとても嬉しいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- WordPress(ワードプレス) httpからhttpsへのリダイレクト設定について 2 2022/04/17 09:49
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpで24時間おきに任意のテキス...
-
PHPファイルが、そのまま見えて...
-
PHPエラーについて
-
コーディングはHTMLとPHPのどち...
-
ApacheのRewrite
-
動的ページを作る時のディレク...
-
動的ページで全ての情報を検索...
-
smartyで同じテンプレートを使...
-
codeigniterのsessionについて
-
フォントの色を変えるには?
-
【BAT(バッチ)ファイル】Web...
-
PHP8を使うと、大量のWarningが...
-
バッチを用いたフォルダの自動移動
-
ファイル一覧を表示しその画面...
-
文字化けについて
-
PHPのif文でその処理を途中で抜...
-
eclipseのエラーの意味
-
透過PNGが透過されない!!
-
空メールの作り方教えて欲しい...
-
3つ以上の論理積は利用可能なの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[PHP] 任意のDNSでIPアドレスを...
-
wordpressのルートのindex.php...
-
すべてのページのurlをindex.ph...
-
PHP/icludeを使った相対パスの...
-
require_onceで読み込む場合、...
-
CakePHPの表示エラーについて
-
.htaccessファイルの修正がこれ...
-
phpによる携帯振り分けとSEOの...
-
phpで24時間おきに任意のテキス...
-
歴史上の人物や宗教
-
モバイルとPC にエージェン...
-
PHPでグローバルナビゲーション...
-
相対パスの挙動を理解できない
-
PEARを使ったメール送信でのinc...
-
$_GET 取得できない
-
ゼンド フレイムワークがどうや...
-
特定のディレクトリだけ、phpを...
-
深い階層のフォルダの作成や削...
-
smartyで同じテンプレートを使...
-
ApacheのRewrite
おすすめ情報