このブログを検索

2018年4月6日金曜日

[Diskstation] DiskStationにWebアプリケーションをホストしmysqlを操作する際にハマったこと

タイトルの通りハマったので必要箇所を記録しておきます.

【やりたいこと】
  • Diskstation上でPHPのWebアプリを動かし,MariaDBを操作する.
  • 今回はINSERT文を対象とする. 

【前提】
  • Diskstation上にWebStationをインストール済み
  • Diskstation上にPHP(今回は7.0)をインストール済み
  • Diskstation上にMariaDB(今回は10)をインストール済み
  • Diskstation上にphpMyAdminをインストール済み(なくても良い)
  • HTMLサイトはWeb経由で閲覧できる状態になっている
  • phpも正常に動作する
  • db処理のみ正常に動作しない

【php側】
  • ホスト名は「XXX.co.jp」ではなく「XXX.co.jp:3307」とする.
  • MariaDBの標準ポートが3307でそちらを使わなければならないらしい.
  • また,一応SQLインジェクション対策を行った版を書いている.
  • プリペアドステートメントを行う際に日時をINSERTする際は上記のcastを利用すると良い.

【Diskstation側】
  • (恐らく初期設定で対応されているが)セキュリティのファイアウォールでMariaDBを許可する.
  • WebStation->PHP設定->編集->拡張を全部チェック(恐らくmysqliだけでいいと思われるが)

以上.意外とハマったので備忘録として.