PHP5でexitによって処理を終了させない方法
mikeda
mikeda
ATOMRSS
  • コード求むID: 312
  • 登録日時:  2008/08/03 21:54
  • 最終更新日時: 2008/08/05 02:58
  • アクセス数: 462
  • タグ:  php5 exit
  • codeなにがしブックマークに追加する 0 users
  • このページを del.icio.us に追加
  • このページをはてなブックマークに追加

PHP5でexit、die(、致命的エラー?)を含む関数を呼び出す際に、
・処理を終了させずに、
・その結果を取得する
方法をだれかご存知ないでしょうか?

evalやtry{}catch{}でもうまくハンドリングできず困っております。

$ret eval("exit('EXIT¥n');");
print("error:$ret"); //ここに来たいけどぜんぜんダメ

perlでいうところのこういう処理ができればと思うのですが。

eval{die("ERR1")};
print "error:$@" if $@';

コメント

  • ゲスト
  • 1:ゲスト
  • 2008/08/04 02:09

exit のキャンセルは、できないと思う。

もう一つ意図を理解できていないかもしれないけど
処理部分を別のスクリプトにしておいて
proc_open() で、別プロセスで実行することはできると思う。

  • GoodJob
  • 0

>>1
ご回答ありがとうございます。やはりPHPなりシェルなりから別プロセスとして呼び出すのが簡単な方法でしょうか・・・


目的ちゃんと書かずですみません。
オープンソースのソフトウェアの、一部の機能をライブラリとして使おうとしています。
ただある条件(MySQLにアクセス不可等)の時はdieでサックリと落ちてしまって、エラーログ出力や終了処理等ができずに困っています。
しかし今後のアップデートを考えるとそのライブラリ自体にはあまり手を加えたくなくて、なんとかそのdieを捕まえられないかと思っていたところです。

  • GoodJob
  • 0

前へ 1 次へ

コメントする

[block]から[/block]までの範囲はブロック表示されます。
部分的に目立たせたい時や、引用などにお使いください。

[code]から[/code]までの範囲は等幅表示されます。
ソースコードや設定ファイルの記述などにお使いください。

ゲスト投稿者:ゲスト:

関連ソースコード・ノウハウを登録

PDFLib | A library for processing PDF on the fly プレゼン公開・共有サイト handsOut.jp オープンタイプ株式会社 チーム・マイナス6% - みんなで止めよう温暖化

ブックマークコメント