質問: ### 前提・実現したいこと PHP(FuelPHP)で書かれたAPIサーバーの修正したいのですが コントローラファイルを修正しても反映されません 開発環境は docker という仮想コンテナ上で動いていて > > curl -X POST http:///xxx/yyy > > > を叩くとコンテナ上にログが出力されてるのでそこにアクセスしているのは確実なのですが /fuel/app/classes/controller/xxx.php を書き換えても反応がないのです 最初はログの出力をあちこちに挟んで見たのですが反応がなく わざと syntax エラーが出るような変な ( や { を挟んで見てもエラーを履かずに 200 を返してきます コンテナ上からソースファイルを見てもソースが変更されてるのは確認しました apache 上で PHP CGI を書いたことはあるのですが Fuel PHP が初めてなので根本的にわかってないことがあるんだと思います 考えられる可能性がありましたら教えていただきたいです ### 問題が発生するまでの流れ・手順 docker コンテナで開発環境を作っているので全てホストPC上で完結しています ホスト上でコンテナフォルダ内のファイルを sublime エディタで編集して保存しただけで docker コンテナ上から見えるファイルも変更されるみたいです docker もまだよくわかっていなくて仕様なのかNFS的なものを設定してるのかはわかりません 以前さわったことがある Rails サーバーのコンテナ上のファイルを変更した時は即反映していましたし 一応 API サーバーのコンテナ上のシェルに入って less で該当のファイルを見てみたら変更はされていました そもそもそのファイルにルーティングされていない可能性が一番疑わしいのですが Fuel のドキュメントを読む限り http:///xxx/yyy/ とかくと /fuel/app/classes/controller/xxx.php の get_yyy なり post_yyy が呼ばれると思っているのですが... /fuel/app/config/route.php 以外にも例外的なルート設定があったりするのでしょうか はかれるログやメッセージを見る限りは該当ファイルのものと一致しているので編集が反映されていないと考えるのがいちばん現象としてはしっくりきます あるいは Fuel PHP サーバーの設定が複数あって全く別のフォルダのサーバーが起動している という可能性もあるのですが調べる方法がもしあれば教えていただけるとありがたいです ### 追記 色々調べているうちにどうも1つのコンテナ上で2つのバージョンの fuel フォルダが存在しているので 同時に動いている可能性が出てきました ただどうやったら目的のコントローラーに処理を渡せるのかがわかりません マルチドメインでドメインによってルートディレクトリを振り分けているのか 同じURLを見張っていて fuel の中の処理で振り分けてるのかもわからず config/config.php にはそれらしい記述は見当たりませんでした 複数の fuel ディレクトリに処理を振り分けているとしたらどこを見れば設定が書かれているんでしょうか
回答: HTTPS じゃないとダメって落ちでした... マルチドメインで新旧2つのAPIサーバーが走っていて 新APIはHTTPSのみしか通さず80番にアクセスした時は自動的に旧APIに飛ぶようになってたみたいです ローカルな設定の問題なのでわかるわけないですよね おさわがせしました