[PHP-users 2772] Re: PHP3.0.18 のコマンドライン版のインストールでエラー
KIM
php-users@php.gr.jp
Wed, 17 Oct 2001 09:22:19 +0900
木村@ISTです。
Wed, 17 Oct 2001 08:02:11 +0900 頃の、
"[PHP-users 2771] PHP3.0.18のコマンドライン版のインストールでエラー" において、
""鮫川 将人" <masahito@yk.rim.or.jp>"さんは書きました:
> 今、私が扱っているとあるサーバー上にコマンドライン版のPHP3をインストールしよ
> うとしたら、make時にエラーが生じてうまくいきません。
>
> 現環境
> redhatLinux7.1[J]
> apache1.3.17
> postgreSQL7.0.3
> gcc-2.96
> インストール対象:php-3.0.18-i18n-ja-2
>
> コンパイルオプション
> ./configure --with-pgsql --enable-track-vars --enable-i18n --enable-mbregex
>
> そのときのエラーの内容は以下の通りです。
> functions/file.o: In function `php3_tempnam':
> /usr/local/src/php-3.0.18-i18n-ja-2/functions/file.c:463: the use of
> `tempnam' is dangerous, better use `mkstemp'
エラーの内容は、「tempnamは危険なので、mkstempを使いましょう」という
gccコンパイラの指示ですね。
#これってエラーなのですね。ワーニングじゃなくて。。。
Linuxであれば、tempnamをmkstempで置き換えた差分を公開している人が居ました。
http://marc.theaimsgroup.com/?l=php-dev&m=97972576709196&w=2
ちなみに、tempnamはmime.c/file.c/post.cで使用されています。
これで、コンパイル/動作させてみてください。
便乗質問ですが、Windows上でこのような修正をしようとしています。
どのような関数を使えばよいのか分かりません。
ちなみに、GetTempFileName()を使用して修正すると、
一時ファイルが残ってしまうようです。
単純に、mkstempに置き換わるようなWindows上の関数は無いのでしょうか?
*********************************************
木村正人[kim] E-Mail kim@ist.fujitsu.com
(株)富士通インフォソフトテクノロジ 沼津事業所
private Web http://www.izu.co.jp/~kim/
*********************************************