XFREEでMySQLの接続が出来ません。
Q&A
Closed
解決したいこと
XFREEという無料レンタルサーバーを使用してPHPでログインフォームの作成を勉強しています。
発生している問題・エラー
localhost上では問題なくMySQLと接続出来るのですが、XFREEを使用するとエラーになります。表示されたエラーは下記のものになります。
SQLSTATE[HY000] [2019] Can't initialize character set utf8mb4 (path: /usr/share/mysql/charsets/)
こちらで実際に見れると思います。
(http://nanashi001.php.xdomain.jp/public/signup_form.php)
該当するソースコード
PHP/dbconnect.php
<?php
require_once 'env.php';
function connect()
{
$host = DB_HOST;
$db = DB_NAME;
$user = DB_USER;
$pass = DB_PASS;
$dns = "mysql:host=$host;dbname=$db;charset=utf8mb4";
try {
$pdo = new PDO($dns, $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);
return $pdo;
} catch (PDOException $e) {
echo '接続失敗です!' . $e->getMessage();
exit();
}
}
PHP/env.php
<?php
define('DB_HOST','mysql1.php.xdomain.ne.jp');
define('DB_NAME','#');
define('DB_USER','#');
define('DB_PASS','#');
(保護のため#としています。)
自分で試したこと
エラーを調べてみたところ utf8 を utf8mb4 に変更する とあったのですが、コードの charset は ちゃんと utf8mb4 になっていて どこを変更すればいいのかわかりません。
0