ロリポップレンタルサーバーでPHPのPDOをするときの注意点

自作のPHPプログラムをロリポップレンタルサーバーで動かすときにいくつかハマったことをこのnoteで残しておきます。


ロリポップでPHPのPDOをするときの注意

PHPでPDOするとき、下のような感じでPDOしますよね。

define('DSN', 'mysql:host=localhost; dbname=dbname; charset=utf8');
define('DB_USER', 'dbuser');
define('DB_PASS', 'dbpassword');
$pdo = new PDO(DSN, DB_USER, DB_PASS);

XAMPPなどの開発環境下では上の方法でPDOしてもちゃんと動きますが、ロリポップレンタルサーバーでは動きません。僕はこれの原因追求するのに2日間をドブに捨てました。ロリポップレンタルサーバーでも動くようにするには下のように変更しなければなりません。

define('DSN', 'mysql:host=localhost;dbname=dbname;charset=utf8'); // 空白をなくすこと!!
define('DB_USER', 'dbuser');
define('DB_PASS', 'dbpassword');
$pdo = new PDO(DSN, DB_USER, DB_PASS);

最初のDSNの定義をするときに、定義する箇所にスペースが入っているとロリポップレンタルサーバーではうまく動きません。動かないのにエラーも出てくれないので、注意。空白をなくせばちゃんと動いてくれるはずです。

「ロリポップレンタルサーバー上でかつPHPを使ってデータベース接続できない!」という人はこのコメント欄ででも質問してください。答えられる範囲で返信をしようと思います。


この記事が気に入ったらサポートをしてみませんか?