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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

2回答

1820閲覧

CakePHPでローカル接続ができません。

korororo

総合スコア7

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2021/04/02 09:05

編集2021/04/02 16:58

#前提・実現したいこと
cakePHPについて質問させてください。
もう半日くらい悩んでいます。
初心者で至らない点多々ありますが、
有識者のお力をお借りしたいです。
よろしくお願い申し上げます。

ローカル接続についてです。
多分COMPOSERとcakePHPをインストールするところまでできました。
色々なサイトを見たので
もしかしたら余計なことなどもしているかもしれないのですが、
多分ここまでは出来ていると思います。

プロジェクトはcake-prjというファイルで作成して合っていると思います。

app.phpともう一つapp_local.example.php というファイルがあり、
これらを両方ともユーザーネームとかを変えてみました。

PHPmyadminでのDBへの接続は出来ております。

###参考にしたサイト
CakePHP公式
サムライ
その他色々

#発生している問題・エラーメッセージ

Localhostでの接続ができない。
Apatchはついています。
localhost/aone/cake-prjで接続しようといしています。
あと何が必要でしょうか。
→ポート番号を入れるとエラーがでましたが、繋がりはしました。
localhost:8081/aone/cake-prj

ちなみにいろんなディレクトリにcake-prjがいて
後から作った多分同じ内容のファイルのmy_app_nameというのもあります。
消したほうがいいのでしょうか。

→ その他の同じ名前と同じ内容のファイルは消しました。

#試したこと
上記のこと。

#補足情報(FW/ツールのバージョンなど)
バージョンはすべて最新のようです。
使用環境書いていませんでした。
php 7.4.1
mysql
xampp
composer 2.0.12

#追記情報
FKM様のご指示からの追記
画像のご指摘もありましたので不要分は消しました。

現在の問題としましては、エラーが出ております。

error

1Fatal error: Uncaught Error: Class 'Cake\Http\Server' not found in C:\xampp\htdocs\aone\cake-prj\webroot\index.php:37 Stack trace: #0 {main} thrown in C:\xampp\htdocs\aone\cake-prj\webroot\index.php on line 37

このエラー内のindex.phpの37行目は↓のコードです。

PHP

1$server = new Server(new Application(dirname(__DIR__) . '/config'));

これは本当に意味がわかりません。
調べると全く同じ現象の質問がありました。
cakePHPが500エラーで起動できない
回答に載っている原因と対策を見ていて該当するのは
「/Applications/MAMP/htdocs/mycakeapp/vendor/cakephp/cakephp/src/Http/Server.php はありますか?」
Servershell.phpは別のディレクトリにありましたが、Server.phpはないです。
無関係でしょうか。

ちなみに

CMD

1Composer -v

で見ると、2.0.12がインストールされています。

どうしたらいいでしょうか。
最後無責任な感じになって申し訳ないですが、
よろしくお願い申し上げます。

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

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

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

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

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

FKM

2021/04/02 09:18

コンソールでSELECT user, host, plugin FROM mysql.user;に アクセスして、形式を確認してみてください。
korororo

2021/04/02 09:26

早速のご連絡ありがとうございます! してみると、知らない長いパスワードが出てきました。 これをapp.phpに入れたらいいってことですかね? 違うのかもしれないけど、一回してみますね!
korororo

2021/04/02 09:28

違うみたいでした! ちょっとでてきた内容を本文に乗せますね
FKM

2021/04/02 09:49 編集

SELECT user, host, plugin FROM mysql.user;を打ち込んだときの pluginの値はどうなってますか?
m.ts10806

2021/04/02 09:50

コードや定義などは画像でべたべた貼られてもこちらで再現確認できないので、原則テキストで、マークダウンのcode機能にてご提示ください。
korororo

2021/04/02 09:58

FKM様 User:root , Host:localhostn , Plugin:mysql_native_password User:root , Host:127.0.0.1 , Plugin: User:root , Host: ::1 , Plugin: User:pma , Host:localhost , Plugin:mysql_native_password となっておりました。
korororo

2021/04/02 09:59

m.ts10806 様 それは申し訳ございません。 ちなみに定義というのは今回の場合、どの画像のことになりますか。 以後気を付けますので、後学のためにご教授よろしくお願い申し上げます。
FKM

2021/04/03 01:23

vendorからインストールしたライブラリなら、手動でも移し替えられるはずなので(中身はただのPHPですので)、それで足りないファイルを補ってみても駄目ですかね?
korororo

2021/04/03 05:27

足りないファイルがそもそも存在していないように見受けられて、詳しい方ならあるのがわかるかもしれませんが、、、 公式ページからServer.php見つけてファイルごと作成してみましたが、うまくいかないですね。 https://api.cakephp.org/3.6/source-class-Cake.Http.Server.html#28-220 ディレクトリの問題だと思うのですが、わからないままです。
m.ts10806

2021/04/03 05:41

ご自身がどういうコードを書かれたのか分からないので「どの」と言われてもこたえかねます。 ひとまず、自身が書いたコードを一通り提示することは必須かと。
korororo

2021/04/03 07:55

m.ts10806様 承知いたしました。 自分が何を書いたのかは必ず明記するように致します! 申し訳ございませんでした。
guest

回答2

0

自己解決

FKM様、色々とご回答いただきありがとうございました。
最終ちょっと回答と解決した内容はずれるかなと思い、BAにしておりません。
申し訳ございません。
今後ともなにかあったらよろしくお願い申し上げます。

解決方法

こちらの公式ページの書いてある通りに忠実に慎重に、わからない部分は何度も読み返してやっていくとできました。

CMD

1bin\cake server

だけ、ディレクトリがよくわからなかったので、一つずつ階層を落として試したら入れました。

PHP

1'Datasources' => [ 2 'default' => [ 3 'className' => Connection::class, 4 'driver' => Mysql::class, 5 'persistent' => false, 6 'host' => 'localhost', 7 /* 8 * CakePHP will use the default DB port based on the driver selected 9 * MySQL on MAMP uses port 8889, MAMP users will want to uncomment 10 * the following line and set the port accordingly 11 */ 12 //'port' => 'non_standard_port_number', 13 'username' => 'root', 14 'password' => '*****', 15 'database' => 'cake_cms',  #ガイドに沿って作成したDB

app_local.phpのPasswordはPhpmyadminに入る時のPasswordでOKでした。
MysqlのUsersのPasswordは不要でした。
app.phpとapp_local.phpとapp.default.phpありますが、
default.php以外の二つとも内部コードを変更すると入れました。

最終CakePHPに入るURLはlocalhost:8765だけでした。

以上です。

投稿2021/04/03 11:05

korororo

総合スコア7

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

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

0

rootが競合している可能性があるので、mysql_native_passwordになっているものだけを
選んで、後はとりあえず削除した方がいいかも知れません。

それとlocalhostnとなっているのはただのミスですか?

User:root , Host:localhostn , Plugin:mysql_native_password User:root , Host:127.0.0.1 , Plugin: User:root , Host: ::1 , Plugin: User:pma , Host:localhost , Plugin:mysql_native_password

投稿2021/04/02 11:55

FKM

総合スコア3608

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

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

korororo

2021/04/02 16:13

ありがとうございます。 下から2つは消してみました。 Host:localhostです。 打ち間違いです。申し訳ございません。 パスワードもこの長いパスワードでやってみましたが、 やはり繋がらないですね。 色々また調べており、ポート番号を入れると入れる場合があるという 記事を見てポート番号を入れると何故か入りました。 ただ、まだ躓いており、追加で本文にプラスしますので ご回答お願いしてもよろしいですか。 よろしくお願い申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問