プロになるためのPHPプログラミング入門 サンプル環境構築
以下書籍に付属するサンプルの実行環境を構築する。
「プロになるためのPHPプログラミング入門」(ISBN 978-4-7741-4972-1)
環境は以下記事のものを使用
「PHP:プロになるためのPHPプログラミング入門 サンプル環境構築」
PHP:8.3.30
MySQL:8.0.46
「プロになるためのPHPプログラミング入門」(ISBN 978-4-7741-4972-1)
環境は以下記事のものを使用
「PHP:プロになるためのPHPプログラミング入門 サンプル環境構築」
PHP:8.3.30
MySQL:8.0.46
1.5.5 HTML_Template_Flexyとデータベースを組み合わせる (P.64)
1. MySQL接続パスワードの変更
2. とりあえずの動作確認
3. PDO MySQLドライバーのインストール
4. エラー 2002
5. エラー 1045
6. エラー 1044
6. とりあえずDB接続はOK
~/docker/php/prophp_sample/www/ppa/p15flexydb.php (15行目)
2. とりあえずの動作確認
3. PDO MySQLドライバーのインストール
PDO MySQLドライバーが必要かもしれないのでインストールを実施。
PHPコンテナに接続し以下コマンドを実行する。
PHPコンテナに接続し以下コマンドを実行する。
apt-get install php-mysql
4. エラー 2002
エラー発生
データベース接続先が "localhost# になっていた。
今回の環境では PHP と MySQL は別コンテナで、MySQLのコンテナ名は compose.yamlの設定では "db" としていたので "db" へ変更する。
Connect Error: 2002
データベース接続先が "localhost# になっていた。
今回の環境では PHP と MySQL は別コンテナで、MySQLのコンテナ名は compose.yamlの設定では "db" としていたので "db" へ変更する。
$dbh = new PDO('mysql:dbname=ppdb;host=db;charset=utf8mb4',
'ppguest', // DB接続ユーザ
'passwordpassword'); // DB接続パスワード
5. エラー 1045
エラー発生
権限が無いためエラーになっている。
ppguestユーザーで接続しようとしているが、過去記事「PHP:プロになるためのPHPプログラミング入門 サンプル環境構築 4」でユーザーを作成した際 'ppguest'@'localhost' で作成していたので localhost からのアクセスしかできない。
今回は学習用なので、とりあえずすべてOKのユーザーを作成して対応。
権限も付与
Connect Error: 1045
権限が無いためエラーになっている。
ppguestユーザーで接続しようとしているが、過去記事「PHP:プロになるためのPHPプログラミング入門 サンプル環境構築 4」でユーザーを作成した際 'ppguest'@'localhost' で作成していたので localhost からのアクセスしかできない。
今回は学習用なので、とりあえずすべてOKのユーザーを作成して対応。
mysql> create user 'ppguest'@'%' identified by 'xxxx';
Query OK, 0 rows affected (0.01 sec)
権限も付与
mysql> GRANT SELECT ON ppdb.* to 'ppguest'@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
6. エラー 1044
エラー発生
Connect Error: 1044
6. とりあえずDB接続はOK
とりあえず ppPageのエラーに変わったので DB接続はOKと思われる。
Fatal error: Uncaught TypeError: PpPage::display(): Argument #2 ($elem) must be of type array, CcData given, called in /var/www/prophp_sample/www/ppa/p15flexydb.php on line 50 and defined in /var/www/prophp_sample/www/ppa/ppPage.php:26 Stack trace: #0 /var/www/prophp_sample/www/ppa/p15flexydb.php(50): PpPage->display('p15flexydb.html', Object(CcData)) #1 {main} thrown in /var/www/prophp_sample/www/ppa/ppPage.php on line 26
0 件のコメント:
コメントを投稿