PHP5でexit、die(、致命的エラー?)を含む関数を呼び出す際に、
・処理を終了させずに、
・その結果を取得する
方法をだれかご存知ないでしょうか?
evalやtry{}catch{}でもうまくハンドリングできず困っております。
$ret
= eval("exit('EXIT¥n');");
print("error:$ret");//ここに来たいけどぜんぜんダメ
perlでいうところのこういう処理ができればと思うのですが。
eval{die("ERR1")};
"error:$@" if $@';
コメント

- 2:mikeda
- 2008/08/05 02:58
>>1
ご回答ありがとうございます。やはりPHPなりシェルなりから別プロセスとして呼び出すのが簡単な方法でしょうか・・・
目的ちゃんと書かずですみません。
オープンソースのソフトウェアの、一部の機能をライブラリとして使おうとしています。
ただある条件(MySQLにアクセス不可等)の時はdieでサックリと落ちてしまって、エラーログ出力や終了処理等ができずに困っています。
しかし今後のアップデートを考えるとそのライブラリ自体にはあまり手を加えたくなくて、なんとかそのdieを捕まえられないかと思っていたところです。
前へ 1 次へ![]()
コメントする
[block]から[/block]までの範囲はブロック表示されます。
部分的に目立たせたい時や、引用などにお使いください。
[code]から[/code]までの範囲は等幅表示されます。
ソースコードや設定ファイルの記述などにお使いください。






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