[PHP-users 32507] Re: Apache経由ではなく直接phpを実行するとセグメンテーション違反と表示される

浦田 うらた be5b @ hotmail.com
2007年 7月 31日 (火) 11:42:45 JST


お世話になります。浦田です。
色々とアドバイスありがとうございます。

>とりあえず「--enable-maintainer-zts」を外してみてCLI版PHPを
>作成&実行してみて頂けますでしょうか。

試してみたのですが、残念ながら結果は同じでした。


>それ以前に「--enable-maintainer-zts」って、PHP4系統ではなくて
>PHP5系統のような気がします。

考慮できていませんでした。このオプションをつけるに当たり、以下のサイトを参照
しました。
  Hosting PHP applications on the IBM HTTP Server
  http://www.ibm.com/developerworks/opensource/library/os-phphttp/
ここから引用----
The final option, --enable-maintainer-zts, causes the PHP interpreter to be 
compiled to run safely with a threaded Web server like IBM HTTP Server: 
"zts" stands for Zend Thread Safe or something like it. Note you will need 
to recompile. If you do manage to find and download a pre-compiled PHP for 
Linux it will likely not have been compiled with thread-safety on, and when 
IBM HTTP Server loads the PHP interpreter, it does check, and will issue an 
error message if the PHP has been compiled in a way that is thread-safe.
ここまで引用----

上記を無理矢理訳して、、、、(かなり自信なし)-----------
最後のオプション、enable-maintainer-ztsは、IBM HTTP Serverのようなスレッド化
されたWebサーバで安全に実行するためにコンパイルするために使います。
「zts」は、Zend Thread Safeまたはそのようなものを表します。
注意:次のような場合あなたはリコンパイルを行わなければならないでしょう。
スレッドセーフをOnにせずプレコンパイルされたPHPを見つけてダウンロードした場
合。
IBM HTTP ServerがPHPインタプリタをロードするときそのことを確認し、もしPHPが
スレッドセーフでコンパイルされている場合はエラーメッセージを出力します。
-----------
あまり理解できていない状態でIBMの資料にも書いてあるし、という理由でONにして
しまっています。
このサイトでサンプルとなっているphpのバージョンは5.0.3ですので、よろしくない
かもしれないですね。。。
今のところ問題は発生していないです。


>Apache版PHPとCLI版PHPのバージョンは、いくつでしょうか。

クライアント版が
# /usr/local/bin/php -v
PHP 4.4.7 (cli) (built: Jul 24 2007 17:30:57) (DEBUG)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

phpinfoで確認すると「PHP Version 4.4.7」と表示されます。


追加の調査として、「--enable-maintainer-zts」をチェックした後、その他オプ
ションを一つ一つ増やしながら結果を試してみました。結果、「--with-zlib」をつ
けると今回のエラーが出ることがわかりました。このキーワードで検索をしてみまし
たが、自分の書いたこのml向けのメールが引っかかってくる程度で、原因がよくわか
りません。「--with-zlib」ですが、pearを使う際に必要になるという程度で付加し
ておりますので、運用上は無くても何とかなりそうです。

あと、前々回のメールで、以下のアドバイスを頂きました。
> 後、可能であれば、PHPの再ビルドが必要になりますが、
> /php-src/main/output.cの212行目辺りに、

ソースを加工してコンパイルしてみたのですが、どうしてもエラーとなってしまい、
確認できておりません。申し訳ございません。

オプションを一つ外すだけで何とかなりそうというお粗末な状態ではありますが、当
方で見落としていることがあれば、ご助言いただければありがたいです。

be5b @ hotmail.com

_________________________________________________________________
熱いライブ映像が無料!BON JOVI、RED HOT CHILI PEPPERS、LINKIN PARK他 
http://liveearth.jp.msn.com/ 



PHP-users メーリングリストの案内