AWS EC2 nginx + php + postgresql

参考サイト

↑ phpinfo.php を作成した後、sudo systemctl restart nginx すること。

【詰まったこと】EC2側からRDS側にアクセスできなくて困った

RDS側のセキュリティグループのインバウンドルールにルールを追加するといけた。追加するのは、ソースにEC2側のセキュリティグループを足せばいい。

【プチ詰まり】psql の指定の方法がわからなかった

$ psql --host=DB_instance_endpoint --port=port --username=master_user_name --password --dbname=database_name

こんな感じでいけるっぽい。

【プチ詰まり】pdo_pgsql がない

上の記事にあるように yum でインストールしてあげる必要がある。

yum install -y  php-devel
yum install -y  php-gd
yum install -y  php-intl
yum install -y  php-json
yum install -y  php-mbstring
yum install -y  php-mcrypt
yum install -y  php-pdo
yum install -y  php-pgsql

【プチ詰まり】php の PDO でエラーが出る

Error :SQLSTATE[08006] [7] could not translate host name "***.rds.amazonaws.com" to address: Name or service not known

こんなエラーがでる。

→ 【解決】単純にURL間違ってた。。。

【プチ詰まり】composer のパス

/usr/local/bin/composer がパスなので、root だと実行パスにない状態となる。 root では /usr/local/bin/composer を指定すること。

【プチ詰まり】.env を導入したい

【小ネタ】

【プチ詰まり】sessionが機能しない

色々みてると、ファイルに権限がないことが原因だった。

Amazon Linux 2 の場合は /var/lib/php/session になってた。ただ、グループが apache になってたので、 nginx に変更したら動いた。