こんにちは!cakephp3を始めたい!と思って検索すると、「簡単に始められるよ。」という記事がたくさん出てきます。 それならやってみようと思いきや、全然うまくいかない。 intlがどうこうってエラーに三日近く悩みました。笑 解決したのでその直し方を書いていきます。 環境 mac os X 10.11 XAMPP cakephpをダウンロードできるサイト Tags · cakephp/cakephp · GitHub ここでダウンロードできた方は localhost/cakephp/ で起動してみてください。 こんな感じの画面になれば成功なのですが・・・・・。 この方と同じエラーにはまりました。 CakePHP3を使うで!! – 献本の備忘録 Fatal error: You must enable the intl extension to use CakePHP. inC:\xampp
cakePHPで以下のエラーメッセージの対処法。 mysqlでDBに接続しようと思ったら、よくわからんエラーメッセージ。 苦戦しまくったから、メモ。 Error: A Database connection using "Mysql" was missing or unable to connect. The database server returned this error: Selected driver is not enabled Error: Mysql driver is NOT enabled php.iniに2行追加。(あらかじめ書いてある場合があるが、その場合はコメントアウトを外す) extension=php_pdo.dll extension=php_pdo_mysql.dll
試したいことがあったので、CakePHPの環境を作っていたらデータベースに接続できなくて困った。 環境 Windows7 CakePHP 3.4.13 PHP 5.6.31 MySQL 5.1.72 CakePHPをインストールをする。config/app.phpファイルをMySQLに接続できる状態にする。そしてbin/cake serverを実行してから にアクセスするとDatabaseの箇所がエラーになっている。 CakePHP is NOT able to connect to the database. Database driver Cake\Database\Driver\Mysql cannot be used due to a missing PHP extension or unmet dependency 調べてみるとPHPのmysqlndが有効になっていないからという
CakePHP3 で入力フォームを作ったら CSRF token mismatch といわれたので原因と対処法を残しておきます。 環境 CakePHP 3.6.10 原因 CSRF token mismatch とエラーがはかれる原因は、CSRF 攻撃からの保護機能が有効になっているためです。 このエラーは CakePHP の FormHelper という機能をつかって入力フォームを作ることで回避できます。 また、危険ですが保護機能を無効にすることでも回避することができます。 以上の二つの対処法を以下で説明します。 対処法1 - FormHelper を使う 前提として以下の状態を想定します。 Controller -> Hello Action -> index 例えば以下のような入力フォームをつくりたいとします。 <form method="post" action="/hello/i
$this->loadComponent('Security'); $this->loadComponent('Csrf'); use Cake\Event\Event; public function beforeFilter(Event $event) { parent::beforeFilter($event); if (in_array($this->request->action, ['関数名'])) { // $this->loadComponent('Security'); $this->Security->setConfig('unlockedActions', ['関数名']); // $this->loadComponent('Csrf'); $this->eventManager()->off($this->Csrf); } }
CakePHPのお約束として、コントローラーの各メソッドでレンダリング前の共通の処理としてbeforeFilter()メソッドをオーバーライドさせますが、CakePHP3だと、なぜかこんなエラーが Declaration of App\Controller\UsersController::beforeFilter() should be compatible with App\Controller\AppController::beforeFilter(Cake\Event\Event $event) ん?重複してる?そりゃそうだけど…なんで? CakePHP3.x 原因はuse Cake\Event\Event;が抜けてたこと。 //先頭で use Cake\Event\Event; //クラスの中で public function beforeFilter(Event $event)
CakePHP3にはEntityに$_accessibleプロパティというものがあります。 http://book.cakephp.org/3.0/ja/orm/entities.html#mass-assignment ↓Bakeするとよく見るコレです。 この状態だとidは変更不可、それ以外は変更可ということになり、Save時のEntityのプロパティに値をセットしたとしても保存されません。 これを利用して、今回ある項目はinputフォームにはreadonlyを付けてPOSTされるけど保存されない、というような実装を行いました。 という前提を元に今回ハマった点について話します。 ハマった問題 リレーションを貼った先のEntityに想定したaccessible設定しているのに保存されない! 構成 テーブル関係 企業情報テーブルとそれに紐づく口座情報を格納する2つのテーブルがあり、hasma
DebugKitが中々出ないという事象に悩まされていました。 config/bootstrapには <?php ... if (Configure::read('debug')) { Plugin::load('DebugKit', ['bootstrap' => true, 'routes' => true]); } って書いてるし、もちろんdebugはtrue。 それでも出ない。 sqlliteがないだとか、なんだかんだと探していても、結局わからずじまいだったので、コアを漁って調べたところ、しょうもない理由でした。 結果としては、debug_kit/config/bootstrap.phpの以下の行で引っかかって出てませんでした。 <?php /** * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundatio
サイコロイドの備忘ログ Web軽技術の総まとめとして、Java、Script言語(Python、PHP)のWebフーレムワーク、及びLinuxの知識を紹介するブログです。 基本的にはLinuxサーバを想定した環境で研究しています。 週、2~4定度のページを投稿していく予定です('_')b LinuxをベースとしたWebサービスの構築を紹介しますU(・ω・)U Windows関連の記事は無いものと思うがよい。。 自作PCの関係上基本的にUbuntuしかいれないおじさん('~') 概要 自前の環境からlocalhost/controller/actionってうってjson取得しようとしたら表題のブラウザ制約にぶちあたって全然取得できないでやんのwww 結構はまったけど鯖側でheaderを変えて送り返せばクロスドメインしているjs側でもjson取得できるようになった。 解説 以下、CakePHP
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く