サーバー

【.forward】からphp.iniを指定してPHPを実行

2018年10月23日
先日からやっているサイトの
SSL化、
ページの文字コードをUTF-8へ、
html5へ、
PHP7へバージョンアップ、
PostgreSQLの移行(バージョンアップと文字コード変更)、
とほぼ全ての環境が変わってしまう移行がほぼ終わりました。
変わらなかったのはMySQLだけです。でもPHPのバージョンアップに伴い、MySQL関係がかなり変わったので、MySQLまで変わった気分です。

テストサイトでの動作確認は終了し、後は本番サイトとテストサイトとを切り替えます。
切り替え前に再度データの同期を取らなくてはいけません。
ドキドキします。


サイトをSSL化したので、ついでにPOSTしている部分をSSLに書き換えました。

ツールが売れたら、自分自身にもメール送信し、特定のメールボックスで受信します。
そのメールボックスにメールが届くとPHPを起動し、処理を行います。
PHPの起動は【.forward】で行います。
私が利用しているレンタルサーバーの場合、SSLを利用するには拡張モジュールを【php.ini】に記述しておかなければいけません。
ここでハマりました。どうしても読み込んでくれなかったのです。
もちろん私の勘違いで読み込まなかったのですが。。。分かってしまえばなんでもないところで、つまづきました。何を勘違いしていたかは恥ずかしいので内緒です。


【.forward】
"| exec /usr/local/bin/php -q -c/home/xxx/.php/php.ini /home/xxx/yyy/run.php"

【/usr/local/bin/php】はPHPのパス、サーバーによってはPHPのバージョンを指定できます。
【/home/xxx/.php/】ディレクトリ下の【php.ini】を読み込んで、【/home/xxx/yyy/run.php】を実行します。
私も初めは間違えていましたが、【php.ini】を指定している部分【-c/home/xxx/.php/php.ini】の【-c】の後ろにスペースは入りません。


説明を読んでも勘違いが解けず行き詰まってコーヒーを入れていたら、突然ポワッとcronの設定が目の前に浮かんできて解決できました。