Xoops Cube Project
XOOPS Cube Project Site
検索
Advanced Search
Powered by Google


Powered by XOOPS Cube Legacy 2.1.8
PukiWikiMod 1.5.1
WordPress Module 0.6.0 Alpha

Apr 14, 2004(Wed)

Win32用Apache2のスタックサイズ

Filed under: - のぶのぶ @ 1:15:42 pm

PHPで、PukiWikiの用にでpreg_replace_callback関数を使って、大きなサイズのテキストに対して、複雑な置き換えをしようとするときに、Linux環境下のApache2+PHP4ではうまく実行できても、Win32環境下で実行するとApacheごとこけてしまうというトラブルにここ数ヶ月悩まされていた。
Win32環境でも、PHP4をCGIとして稼働させてやればうまくいくし、Apache1.3環境下でPHPのsapiモジュールを動かしても問題ないので、てっきりPHP4のApache2用sapiモジュールに問題があるのだと思っていた。
ふとしたきっかけで、php.netのバグデータベースにpreg_replace_callbackが落ちる原因は、スタックがオーバーフローしているからだという事を知った。
PHP4のApache2用sapiモジュールはDLLだから、結局はApache2のApache.exeをビルドする時のスタックサイズ指定が小さすぎるという事になる。
というわけで、Apache.exeをスタックサイズを大きめに再指定してビルドしてやったら、確かに今までこけていたスクリプトがうまく実行されるようになった。

参考ページ


Comments

RSS feed for comments on this post.

No comments yet.

Leave a Comment

Sorry, the comment form is closed at this time.

33 queries. 0.006 sec. - Mem:3906bytes
Powered by WordPress Module based on WordPress ME & WordPress

カレンダー
April 2004
S M T W T F S
« Mar   May »
 123
45678910
11121314151617
18192021222324
252627282930  
投稿者別一覧
アーカイブ(月別)
カテゴリ一覧
ブログ内検索