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

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

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

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

Q&A

2回答

3618閲覧

レンタルサーバーでcakephp3が動かない

YukiYamaguchi_t

総合スコア8

CakePHP

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

0グッド

0クリップ

投稿2016/08/16 03:55

編集2022/01/12 10:55

こんにちは。
cakephpを勉強してるのですが、ローカルサーバーで簡単なアプリケーションを動かせるようになり、実際にレンタルサーバーにアップして動作を確認しようとしました。
レンタルサーバーはネットオウルのミニバードです。

ffftpを使ってcakephp3のプロジェクトをディレクトリ毎アップロードしたのですが、エラーが出て実行できません。
実際にアクセスすると、プロジェクト内のどのパスにアクセスしても
Host '[ホスト名]' is not allowed to connect to this MySQL
とエラーが出ます。

対処としまして、レンタルサーバーの使っているphpのバージョンを変更してみたりしたのですが、うまく行きませんでした。
何かご存知のかた、アドバイスをよろしくお願いいたします。

//////////////補足///////////////////
接続するデータベースの情報を書き込む /config/app.phpの記述を以下に示します。
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'sv2.minibird.netowl.jp',
//'port' => 'non_standard_port_number',
'username' => 'User_Name',
'password' => '***',
'database' => 'Detabase_Nme',
'encoding' => 'utf8',
'timezone' => 'UTC',
'flags' => [],
'cacheMetadata' => true,
'log' => false,

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2016/08/16 04:03

ドキュメントルートと同列のフォルダ群は上げてますか?
YukiYamaguchi_t

2016/08/16 04:07

質問いただきありがとうございます! ローカルではxamppで開発しているのですが、そのhtdocsの中にプロジェクトファイルがいくつかある状態です。その中の一つのcakephp3で作られたプロジェクトファイル(この中にsrcやvenderなどのディレクトリがある)をまるごとアップロードしました。 この時、cakephp3のプロジェクトファイルだけでなく、htdocsの他のファイルもアップロードすべきということでしょうか? 現在はやっておりません。cakephp3のプロジェクトファイルのみになります。 よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2016/08/16 04:13

Cakephpのドキュメントルートです。 src vendor 等のことです。のであげていたらまずそこではないですね
YukiYamaguchi_t

2016/08/16 04:17

そうですね、そのあたりはまるっとアップロードしてます。 原因が全然わからず・・・ もし何か考えられる原因がありましたら教えていただけると幸いです!
kunai

2016/08/16 04:20

CakePHP自体は動いてるわけですね? (Cakeの情報が出るページとやらが表示されるのであれば) DBの接続エラーについては、DBの設定で、外部からのログインを許可しない設定になっている気がします。 DBとPHPは同じサーバ内ですか? PHPの置いてあるサーバから、DBに対してコマンドラインから接続してみた場合、接続出来ますか? mysql ―h DBのあるサーバ名やIPアドレス -u ユーザー名 -p DB名 Controllerのエラーに関しては、 1.接続しようとしているURL(ドメインはexample.com等で結構です) 2.接続しようとしているControllerの設置Path(/var/www/cakephp/app/Controller/SampleController.php 等のフルパス) 以上の情報をいただけますか。
YukiYamaguchi_t

2016/08/16 04:28

DBとPHPが同じサーバーにあるかどうか、確認してみます!現状よくわかっておりません・・ ドメインはyayuki.com(ブログ)で、その中にcakephp3用のディレクトリ(todo)を作成しました。学習用に作成したタスク管理アプリです。 よってcakephp3のルートディレクトリはyayuki.com/todo 実行したいコントローラーのパスはyayuki.com/todo/tasks です! すみませんがよろしくお願いいたします
kunai

2016/08/16 04:30

いや、URIではなくサーバ上でのパスを教えてください。
YukiYamaguchi_t

2016/08/16 04:34

申し訳ございません。 サーバー上のパスとしては、(ドメイン直下)/todo/src/Controller/TasksController.php となっております(ご所望の情報でしょうか・・) どうぞお願いします!
kunai

2016/08/16 04:41

質問文の「Class 'App\Controller\Appcontroller' not found 」と言うエラーメッセージはコピペしたモノですか? extends AppController のCが小文字になっていませんか
YukiYamaguchi_t

2016/08/16 05:06

ありがとうございます、仰るとおりでした・・・ 大文字に直した所、このエラーは消えました。ローカルでは自動で認識してくれていたものと思われます。。 一方、コントローラーのURLでも同じエラーメッセージ Host '[ホスト名]' is not allowed to connect to this MySQL server が出るようになりました。 データベース接続さえ直れば大丈夫な段階なんですかね。。 ちょっとレンタルサーバーのその辺りの知識が全然ないので、調べてみます!
kunai

2016/08/16 05:24

database.phpの中身を提示いただけますか。(質問文に追記で結構です) ユーザ名やパスワードは「***」等でマスクしていただいて結構ですので
YukiYamaguchi_t

2016/08/16 11:33

書き込みました! 良ければ確認お願い致します!
guest

回答2

0

Host '[ホスト名]' is not allowed to connect to this MySQL

メッセージ的には、MySQLに接続はできているけど実効権限が無いって感じですね。
結構ありがちなのは、データベースと接続ユーザーはちゃんと作っていたけど
ユーザーに権限を付与してなかったというパターンです。
一度管理画面で確認してみてください。

それと、ミニバードってPHP拡張のintlは導入されていますか?
CakePHP3はintl拡張が必須なので、もしphpinfo()を表示してみてintlの項目が
見つからない場合はダメかもしれません。。。

投稿2016/08/17 11:35

nnssn

総合スコア1221

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

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

0

なんとなくですが

DB接続情報がそのネットオウル規定の設定情報にあってないだけだと思います。

host: 127.0.0.1

host: localhost
host: sv2.minibird.netowl.jp

の3種類が考えられます。
またポートも変更されている場合はその通り変更してください。

多分設定は以下

php

1[ 2 'Datasources' => [ 3 'default' => [ 4 'className' => 'Cake\Database\Connection', 5 'driver' => 'Cake\Database\Driver\Mysql', 6 'persistent' => false, 7 //'host' => 'sv2.minibird.netowl.jp', // domain ではなくループバックアドレスで これでもエラーがでるなら /* 'host' => 'localhost', */ へ変更 8 'host' => '127.0.0.1', 9 //'port' => 'non_standard_port_number', 10 'username' => 'User_Name', 11 'password' => '***', 12 'database' => 'Detabase_Nme', 13 'encoding' => 'utf8', 14 'timezone' => 'UTC', 15 'flags' => [], 16 'cacheMetadata' => true, 17 'log' => false, 18 ] 19 ] 20 ] 21```php

投稿2016/08/16 05:08

編集2016/08/16 15:54
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

YukiYamaguchi_t

2016/08/17 10:30

それでもなりませんでした・・・ denyされたと。 関係あるかわかりませんが、 https://secure.netowl.jp/bbs/detail.cgi?td=352 これに書いてあることが生じてるですかね? なんどもすみません、もし何かわかりましたらお願いします!
退会済みユーザー

退会済みユーザー

2016/08/17 13:22 編集

変更されてないみたいですが 'mysql:host=sv2.minibird.netowl.jp;port=3306;dbname=yayuki_todo;charset=utf8' [ 'driver' => 'Cake\Database\Driver\Mysql', 'persistent' => false, 'host' => 'sv2.minibird.netowl.jp', // ここが localhost か 127.0.0.1 に変更される 'username' => '*******', 'password' => '*******', 'database' => '*******', 'encoding' => 'utf8', 'timezone' => '+0:00', 'flags' => [ (int) 12 => false, (int) 1000 => true, (int) 3 => (int) 2 ], 'cacheMetadata' => true, 'log' => false, 'quoteIdentifiers' => false, 'url' => null, 'name' => 'default', 'port' => '3306', 'init' => [ (int) 0 => 'SET time_zone = '+0:00'', (int) 1 => 'SET NAMES utf8' ] ]
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問