【現象】
ブラウザ上ではデータベース接続できるのにコマンドラインで実行すると
Undefined class constant MYSQL_ATTR_INIT_COMMANDで実行されない。
【原因】
PDOにmysqlが入っていないため。
phpinfo();
でPDOの項目をチェックしてmysqlが入っているか確認しましょう。
コマンドラインで確認する場合はphp -r "phpinfo();"
です。
ぼくの場合は、ブラウザ上で確認するとPDOの中にmysqlが入っていて
コマンドラインで確認するとPDOの中に入っていなかったためハマりました。
【対策】
PDOにmysqlを入れることです。ぼくはphp70を利用しているので下記コマンドで解決しました。
yum install php70-mysqlnd
【あとがき】
今までApatchでPHP5系を使ってきてて、いきなりnginxでPHP7系を使うとエラーが出たときの切り分け大変ですね(笑)
コピペでなんとなく設定するのではなく意味を理解した上で設定しないとハマりますね。(自戒)