0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

cakePHPインストールの際につまづいたこと

Last updated at Posted at 2019-02-08

①Apacheの設定

httpd.confを編集する

SRVROOTを変更

Define SRVROOT "C:\Program Files\Apache\Apache24"

とした。

LoadModule rewrite_module modules/mod_rewrite.so

コメントを外す

サーバーを変更

ServerName localhost:80

ディレクトリに/var/www/htmlを追加

<Directory /var/www/html>
    AllowOverride none
    Require all denied
</Directory>

ドキュメントルートを自分のアプリを作りたいパスに変更

DocumentRoot "C:\Users\-----\MyProjects"
<Directory "C:\Users\-----\MyProjects">

②php.iniの設定

PHPをインストールしたディレクトリ内のphp.iniで

extension=intl

をコメントから外し有効にする必要がある。

アプリの雛形を作成する

composer create-project --prefer-dist cakephp/app cakeSample

サーバー起動

bin\cake server # バックスラッシュ

このサイトが一番わかりやすい

Mysql

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --version

ログインする

\mysql -u root -p

Enter password: ********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.15 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

停止する

quit

databaseを作る

create database test_t;
use test_t

テーブルを作成する

create table test_t(num int, name varchar(25));
show tables;

カラム名はスネークケースが望ましい。
primary keyやauto_incrementを使用可能

テーブルの詳細

show columns from users

insert

insert into test_t values(1,'西山一郎');
select * from test_t;
+------+----------+
| num  | name     |
+------+----------+
|    1 | 西山一郎 |
+------+----------+
1 row in set (0.00 sec)

アップデート

update test_t set name="aaa" where num=1;

config/app.phpのデータベース設定を変更

user_name = "root"
passward = "************"

モデルの雛形を作成

personsテーブルを作成した後に作業ディレクトリで

bin\cake bake model persons

エラー対処

CakePHP is NOT able to connect to the database.
Connection to database could not be established: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

となりデータベースに接続できないときはhttps://improve-future.com/mysql-php-the-server-requested-authentication-method-unknown-to-the-client.htmlを参考に

mysql> select User, Plugin from mysql.user;
+------------------+-----------------------+
| User             | Plugin                |
+------------------+-----------------------+
| mysql.infoschema | caching_sha2_password |
| mysql.session    | caching_sha2_password |
| mysql.sys        | caching_sha2_password |
| root             | caching_sha2_password |
| user-name        | caching_sha2_password |
+------------------+-----------------------+
5 rows in set (0.00 sec)

caching_sha2_passwordをnative_passwordに変更する必要がある

root@localhost [mysql]> alter user 'admin'@'%' identified WITH mysql_native_password by 'password';
root@localhost [mysql]> SELECT user, host, plugin FROM user;

これで変更できる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?