PHPでWebサイト構築する為に、ローカル環境を作成して色々試しています。
ローカル環境を構築するメリットは、気軽に試せる事にあります。
開発中は何度も試すので、本番環境だと試す度にアップロードをしなければなりません。
面倒で時間がかかるので、ローカル環境で行う事は大事になってきます。
PHP環境をローカルで作成するには、以下の「パソコン1つでPHP環境を作成する」の記事を参照してください。
しかし実際にWebサイトに上げる場合、DB連携している場合変更しなければいけない項目が出てきます。
今回は変更しなければいけない箇所と、その作成方法をXサーバ用で試してみようと思います。
XサーバでPHPのDB操作をWeb公開用に修正する
Web公開用に修正する箇所
ローカル環境はSAMPPで構築しております。
その時にDBに接続する構文は以下となります。
<?php
try{
$DB_DATABASE = 'mydatabase';
$DB_USERNAME = 'root';
$DB_PASSWORD = '';
$DB_OPTION = 'charset=utf8';
$PDO_DSN = "mysql:host=localhost;dbname=" . $DB_DATABASE . ";" . $DB_OPTION;
$db = new PDO($PDO_DSN, $DB_USERNAME, $DB_PASSWORD,
[ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);
echo 'DB接続成功';
} catch(PDOException $e){
echo 'DB接続失敗';
}
?>
DB接続すれば「DB接続成功」、例外があれば「DB接続失敗」の文字列を表示する「例外処理」も施しております。
詳しくは以下の「PDOでDBにアクセスする時の構文」の記事を参照してください。
ローカル環境からWebにアップする時に変更する箇所は以下です
- データベース名
- ユーザー名とパスワード
- ホスト名
今回はXサーバーで行います。一つずつ作成していきます。
Xサーバーの管理画面(サーバーパネル)にログインします
Xサーバーでデータベースを作成する
「データベース」の中の「MySQL設定」をクリックします。
「MySQL追加」タブをクリックし、データベース名を記入して、「確認画面へ進む」をクリックします。
ここでは「sugublog7_test」というデータベースを作成します。
作成するデータベース名を確認して「追加する」をクリックします。データベース作成完了です。
XサーバーでMySQLユーザとパスワードを作成する
「MySQL一覧」タブに今回作成した「sugublog7_test」のデータベースが見えました。
アクセス権所有ユーザがいないとなっています。データベースにアクセスするユーザが必要です。
MySQLのユーザーを作成します。「MySQLユーザ追加」タブにユーザとパスワードを入力します。「確認画面へ進む」をクリックします。今回は以下のようにしました。
- ユーザID:「user1」
- パスワード「testuser」
「MySQLユーザ一覧」タブに作成した「sugublog7_user1」ユーザが見えました。
ユーザ作成時気を付ける事
ユーザ作成時気を付ける事
- ユーザIDは半角英数字のみ使用
- ユーザIDは6文字以内にする
- パスワードは半角英数字や利用可能な文字のみ
- パスワードは8文字以上16文字以内
テストしてみます。というかやってエラー出た事をまとめます。
ここでは「sugublog7_test_user」、パスワードも同じものを記入しました。
①MySQLユーザは半角英数文字でないとダメです。「_」はダメです。
③MySQLパスワードは利用できない文字があります。 「_」はダメです 。
次に「testuser」、パスワードも同じものを記入しました。が
②MySQLユーザは6文字以内でないとダメです。
次に「user1」、パスワードを同じにしました。
④MySQLのパスワードは「半角8文字以上16文字以内」でないとダメなようです。。
このように制限があるので、決まりを抑えておきましょう。もう一度まとめると以下となります。
- ユーザIDは半角英数字のみ使用
- ユーザIDは6文字以内にする
- パスワードは半角英数字や利用可能な文字のみ
- パスワードは8文字以上16文字以内
データベースのアクセス権をユーザに持たせる
データベースとユーザが作成できたので、データベースのアクセス権を持つユーザーを割り当てます。
「MySQL一覧」タブの該当データベースのアクセス権未所有ユーザで先程作成したユーザを選択し、「追加」をクリックします。
アクセス権所有ユーザに、先程追加したユーザが見えれば成功です。
XサーバでMySQLのホスト名を探す
MySQLサーバのホスト名を探します。データベース作成する時に載っているので、MySQLの項目から探します。
データベースを作成した画面の下の方に載っています。
MySQLのホスト名がこれにあたります。
これでWebサーバで公開する時に変更するパラメータが揃いました。おさらいしておきます。
- データベース名:sugublog7_test
- ユーザー名とパスワード:sugublog7_user1 :testuser
- ホスト名:〇〇(あなたの環境にお合わせ下さい).xserver.jp
PHPをWeb公開用に変更する
では初めに作成したPHPの変更する部分を変更してみましょう。
データベースに接続する構文は以下になります。
<?php
try{
$DB_DATABASE = 'sugublog7_test';
$DB_USERNAME = 'sugublog7_user1';
$DB_PASSWORD = 'testuser';
$DB_OPTION = 'charset=utf8';
$PDO_DSN = "mysql:host=〇〇.xserver.jp;dbname=" . $DB_DATABASE . ";" . $DB_OPTION;
$db = new PDO($PDO_DSN, $DB_USERNAME, $DB_PASSWORD,
[ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);
echo 'DB接続成功';
} catch(PDOException $e){
echo 'DB接続失敗';
}
?>
変更箇所は4つですね。
- DB名を「mydatabase」から「sugublog7_test」に変更しました。
- ユーザ名を「root」から「sugublog7_user1」に変更しました。
- パスワードを「なし」から「testuser」に変更しました。
- ホスト名を「localhost」から「〇〇.xserver.jp」に変更しました。
これでWebサイト用に変更できました。
Xサーバのファイルアップロードでアップして、サイトを見てみましょう。
上手くDB成功と表示されれば成功です。