new PDO('sqlite:~') 実行時にデータベースファイルが勝手に作られる

原因

PDO SQLite の仕様。

https://stackoverflow.com/questions/40618805/php-pdo-sqlite-connection

自動作成を無効にする方法

そんなものはない。

対策

データベースファイルの有無を確認してから、new PDO() を実行するようにする。

if (file_exists('a.sqlite3')) {
    $pdo = new PDO('sqlite:a.sqlite3');
}