質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1101閲覧

cake3phpでコントローラを要求される

Amp

総合スコア15

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/06/28 12:12

編集2019/06/28 13:12

入門書を参考に、メインで使っているデスクトップパソコンとノートパソコンにそれぞれ「Cake3PHP」をダウンロードしました。

デスクトップパソコンでは問題なく動作しました。ノートパソコンの方でも、「bin\cake server」の内蔵サーバからならうまく動作しました。

しかしノートパソコンのXAMPPからだとエラーが表示されます。

〇エラーメッセージ

ERROR:Cake3app(アプリ名です)Controller could not be found.

ERROR:Create the class Cake3appController below in file: src\Controller\Cake3appController.php

と表示されます。ノートパソコンのXAMPPだけなので、設定が間違っているのだと思いますが、どう直したらいいのか分かりません。
ご教授ください

〇デスクトップ
XAMPP:v3.2.2
Apache:2.4.35
PHP:7.2.11
CakePHP:3.7.4

〇ノートパソコン
XAMPP:3.2.4
Apache:2.4.39
PHP:7.3.6
CakePHP:3.7.9

〇入門書
XAMPP:3.2.2
CakePHP: 3.3.5

〇共通
Windows10
CakePHP3は入門書通りに、Composerからダウンロード
→httpd.confのmod_rewriteをロード
→pho.iniにextension=php_intl.dllを追記
その後、簡単なプログラムを作成しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/06/28 12:37

cake3phpというのは存在しないですよ。 名前が決まっているものは正しく記載してください。 問題は端末やOSよりもWebサーバや確認の仕方に問題があるのではないでしょうか。 双方のWebサーバ環境、XAMPPなのであればそのバージョン等を記載してください。 またダウンロードしただけでは動きません。どのように展開してどのように動作させようとしているのか 他者が再現可能な、自身が対応した手順をきちんと記載してください。
Amp

2019/06/28 12:51

Cakeの3ではなくてCakePHPの3なのですね。 〇デスクトップ XAMPP:v3.2.2 Apache:2.4.35 PHP:7.2.11 〇ノートパソコン XAMPP:3.2.4 Apache:2.4.39 PHP:7.3.6 〇共通 Windows10 CakePHP3は入門書通りに、Composerからダウンロード →httpd.confのmod_rewriteをロード →pho.iniにextension=php_intl.dllを追記 その後、簡単なプログラムを作成しました。 プログラムの内容は、
m.ts10806

2019/06/28 12:52

質問は編集できますので、適宜ご対応ください。 私は入門書を使わずに公式ドキュメントのみで進められているほうなのですが、 書籍と実際に導入されたバージョンは合っているのでしょうか。
Amp

2019/06/28 13:00

アプリ名(cake3app)webroot内にindex.htmlを配置。何の変哲もないhtmlのプログラムです。 もう1つは、src/controllerに配置したHelloController.phpです。 コードは、 <?php namespace App\Controller; class 略 AppController { public $name =‘Hello’; public $autoRender = false; public function index () { echo "Hello"; } } となっています。 他に必要な情報はありますか?質問は初めてでして。すみません。
Amp

2019/06/28 13:09 編集

デスクトップ:CakePHP 3.7.4 ノートパソコン:CakePHP 3.7.9 入門書:CakePHP 3.3.5 でした
guest

回答1

0

自己解決

原因は/アプリ名/configフォルダにあるapp.phpでした。
入門書には、

// 'baseUrl' => env(‘SCRIPT_NAME’)

の//記号を削除する。と書いてありましたが、削除するとこのエラーが出ました

投稿2019/06/28 14:07

編集2019/06/28 14:09
Amp

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Amp

2019/06/28 14:24

最後まで一通り目を通してからプログラミングを始めたせいで、「mod_rewriteをロードできないサーバなら編集」という文を見落としていました。 mts10806 さん、ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問