• 締切済み

PHPでローカルだけ通信内容のモックを貼る方法

現在EC Cubeで作ったサイトのカスタマイズを行っていますが 通常の素のPHPのコードと同じような感じで捉えて下さい。 ローカル仮想マシンでデザインなどを当て込みを行うのに、課金周りの処理では、擬似的な課金サーバーに接続をして、パラメーターをもらって返すという処理を行って、画面遷移できるようにしようとしています。 そのための画面遷移を行いたいのですが、課金サーバーに通信は送りたくありません。 こういう場合、ローカルで課金サーバーへの通信を行った場合、これを奪い取って擬似的に生成した値を返すような仕掛けがあれば、別に結果を返すためのサーバーを用意しなくても良く、ベストに近い方法なの、RubyでいうWebmock的な機能を持ったpearパッケージはないでしょうか?

  • PHP
  • 回答数2
  • ありがとう数1

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5085/13289)
回答No.2

hosts ファイルを書き換えて仮想マシンに作った課金サーバのモックにアクセスさせればいいのでは? ブラウザによってはアドオン機能で、一時的にテスト用のhostsに切り替えるとか、DNSをハックして指定のIPアドレスを返すようにしてくれるモノもありますよ。

m_matsubara
質問者

お礼

まー、フツーはそうなりますよね。 デザイナさんの環境にそういう設定を行うのが辛いので、なるたけPHPのコード中で完結させたかったのですが、結局今回は、無理に頑張らないで課金周りのページのhtmlを保存して、デザイナさんにはそれを修正してもらいました。 そうやってもらったデザインを開発側で当て直している時に、敗北感ありましたけどね。 ありがとうございました。

回答No.1

>>擬似的な課金サーバー クレジット・コンビニ決済代行の業者の多くはテスト用のサーバ用意していると思います。 ローカルがネットから切り離されてない環境であればそちらを使っては?

m_matsubara
質問者

補足

テスト用のサーバーですが、そちらにつないでも課金履歴は課金サーバー内部に残ってしまうので、こちらのDBのみに入会・大会の情報を残しておかないと、データに齟齬が発生してしまうと、後々のすり合わせが辛いのです。 なるべく全てをローカルでまかなえる体制があるといろいろ捗るので、頑張ってみたかったのですが、モックの仕掛けは、PHPではphp-unitと抱き合わせでしか使えないそうです、今回は諦めました。 どうもありがとうございます。

関連するQ&A

  • ruby on railsでの画面間 パラメータ受け渡し方法

    ruby on railsでの画面間のパラメータ受け渡し方法についての 質問です。 入力画面1→入力画面2→確認画面→(登録) のような画面遷移を行う場合、入力画面1、2の内容を 登録処理で使用するにはどのようにしたらよいでしょうか? 1.Sessionに格納する。 2.Hiddenフィールドを使用して、画面間で、受け渡しをする。 3.その他、良い方法があれば教えてください。

  • apache,ruby(PHP),cの連携について

    C言語で書いたプログラムをプロセスとして立ち上げておいて、Rubyからそのプロセスに値を渡してCのプログラムを実行することは可能でしょうか。 以下に、現在の構成とやりたいことを記載します。 【構成】 OS:CentOS httpd:apache 使用言語:Ruby(or PHP)、C言語(OpenCV) 【やりたいこと・概要】 ユーザがブラウザからパラメータを入力し、そのパラメータを元にサーバで画像処理を行い、その結果をユーザへXMLで返したい。 その際に、画像処理を行うプログラム(C言語)では、ディスクから大量のデータをメモリにロードするため、処理時間がかかります。そこで、C言語はプロセスとして常に上げておくことで、メモリへのロード時間を削減したい。 【やりたいこと・流れ】 1.ユーザが、ブラウザから値を入力し、POSTする 2.Ruby(or PHP)で受け取る 3.受け取った値をC言語で書かれたプログラム(OpenCVを利用した画像処理プログラムで、これをプロセスとして常に上げておきたい)へ連携する 4.連携された値を元に画像処理を行い、処理結果をRuby(or PHP)へ返す 5.Ruby(or PHP)で受け取った情報をXMLにして、ユーザへ返す ※ Ruby(or PHP)と書いた部分はC言語をプロセスとしてあげておいてPOSTを受け取ることが出来ればC言語での実装でも構いません。 乱文になってしまい読みづらくて申し訳ありません。 情報の過不足などが有りましたらご指摘をお願いします。 お分かりになる方、ヒントでも構いませんので教えて頂ければ幸いです。 以上です。よろしくお願い致します。

  • PHPでメッセージボックス表示

    お世話になります。 PHPでVBみたいな メッセージボックス表示は できるのでしょうか? レンタルサーバのPHPMYADMIN では、クエリ実行の確認時にでるのですが・・ できればボタンクリック時に別画面に遷移して 処理したくないので。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • Ajax非同期通信の多重リクエストによる通信障害?

    Ajaxの通信において、成功するケース、失敗するケースが 不明な原因によって頻発しています。 サーバー環境は Apache(1.3.27)、PHP(4.2.3 )、 PEARのHTML_AJAXを使用しております。 apache2系では出ていない症状なので、 マルチスレッド/マルチプロセスの処理の違いが あらわれているのかとも思いますが・・・ 多重リクエストの問題だとしたら、どのように対処したら よいでしょうか? 調査したところ「xmlhttp.abort()メソッドでリクエストのキャンセルを行う。」といった記述もありましたが、今使用しているライブラリとは別もののようなので、どう対処すべきが分からず困っています。

  • html::templateにおけるパラメータ受け渡し

    <開発環境> OS:Red Hat Enterprise Linux 4 WWWサーバー:Apache 2.0.52 Perl:5.8.8 フォームに入力し、ボタンを押すとメールが自動送信されるCGIを開発おり、URLの末尾(?以降)に持たせたパラメータが途中で失われてしまうため、困っております。 仕様は 1.入力画面→(POST)→2.確認画面→(POST)→3.送信完了画面 となっており、1で入力して2で確認し、3でメールを飛ばす処理は問題なく動いていますが、1から2へ遷移するとパラメータが失われてしまいます。 html::templateというモジュールを用いており、テンプレートファイルへの値の受け渡し方がよく分かりません。 1のURL末尾のパラメータを確保し、2以降へ受け渡す書き方を教えて頂けないでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • CGI
  • 通信状態にはなってるのに

    4日前にBフレッツの開通工事をしました。昨日までは順調にネットワーク接続できてインターネットを楽しんでいたのですが、今朝から突然「サーバーに接続できません」の画面しか出てこなくなりました。 とりあえずNTTのほうに連絡して、電源を切ったり接続しなおしたり・・ということはやってみたのですが、うまくいきません。 「ローカルネットワーク接続」の「状態」は「接続」になっているし、「継続時間」というのも動いているので通信状態になっているのだとは思うのですが、なぜインターネットが見れないのかわかりません。 どうしたらいいのでしょう?何かアドバイスをください。

  • フォームのcgi データを削除して戻したのだが。。

    rubyまったくの初心者です。 以下のサイトなのですが http://www.oizumifoods.co.jp/recruiting/recruiting/part_time/entry_form.html フォームに情報を満たせていない場合、入力確認ボタンを押すと、エラー画面が 出るはずなのですが、出なくなりました。 もともとは出ていたのですが、 サーバから該当ディレクトリにあるファイルを全て、 一旦ローカルにダウンロードしてサーバ上では削除しました。 (他の部分で検証したい事があり、このようなことをしました) その後、ローカルにダウンロードしたファイル(まったくいじっていない)を 同じ場所に全てアップしたのですが そうすると、エラー画面が出なくなってしまいました。 ファイルやソースは全て、元あったものと全く同じなはずなのですが。。 rubyを知らないので、こういうことってrubyではあるのでしょうか? 説明がしずらく、また初心者で申し分けありませんが、非常に焦っています。。 何卒よろしくお願いいたします。

    • ベストアンサー
    • Ruby
  • ブラウザーからサーバ側のaspファイルを読み込む方法について

    クライアント側のVBscriptやJavaScriptなどのスクリプト 言語から画面を遷移しないでプログラム内でaspファイルを 呼びサーバ側での処理をした後にまたその後のプログラム を実行するような処理をしたいのですがどのように記述し たらよいのでしょうか? (クライアントのプログラム内でサーバ側のaspファイルの 関数を呼び処理の結果をクライアントのスクリプト言語に 反映させたいのですが。。。)

  • ローカル環境でのCGIの処理速度が遅いです。

    Xamppをインストールして Apacheとmysql、perlを使用した仮想サーバーをローカル環境に構築しました。 しかし、普通のページ(HTML等)はサクサク表示するのですが、CGIファイルの処理速度がかなり遅いです。 具体的にはMovabletypeを使用しているのですが書き込み、再構築・ブログの管理画面表示など全てに時間がかかる状態です。 現在はレンタルサーバーを借りてそこにもMTをインストールしているのですが、はっきりいってそのレンタルサーバーより2~3倍は遅いです。 私はてっきりローカル環境であればレンタルサーバーと同等、もしくはそれ以上の速度でCGIが実行されると考えていたのですがこういうものなのでしょうか? また、処理速度を早くする方法などはないでしょうか? おわかりの方がおられましたらご教授の程、よろしくお願いします。 ▼PC環境 Windows2000 Pentium4 1.8GHZ メモリ 512MB ▼サーバー環境 Apache HTTPD 2.2.6 MySQL 5.0.45 Perl 5.8.8-2.2.4 ▼使用ソフト Movable Type version 4.01

    • ベストアンサー
    • CGI
  • EC-CUBEでの文字化け

    EC-CUBE初心者です。 ローカルのwindowsマシンにEC-CUBEをインストールしてみたんですが 管理画面の一部が文字化けしてます。 例えば”基本情報管理>SHOPマスター”のSHOP住所 の都道府県のコンボボックスの中身が”???”と なっています。 どこの設定がおかしいのでしょうか? 環境 ●EC-CUBE →2.11.4 ●MySQL →5.1.33 ●Apache →2.2.11 ●PHP →5.2.9 尚、mysqlの文字コードはUTF-8で show variables like 'character_set%';を実行したところ character_set_client →   utf8 character_set_connection→ utf8 character_set_database → utf8 character_set_filesystem →  binary character_set_results → utf8 character_set_server → utf8 character_set_system → となっております。 DBの文字コードがutf8 になっているとは思うのですが あとはphp.iniの設定かなとは思うのですが いろいろやってはいますがうまくいきません。 ご教授お願いします。