< 福岡県のホームページ制作 ドリームリンク【Dream Link】|Web技術日記|2008年12月

Web技術日記
ホームページ制作の小技を紹介します。

perlとPHPでの環境変数を伴うexecの違い 2008年12月 5日

今日、半日くらい悩んだ出来事です。

とある仕様書を見てPHPでexecを利用して外部コマンドを実行するのですが、仕様書どおりなのになぜかうまくいかない。

環境変数が必要とあったので、$_SERVER['REQUEST_METHOD']や$_SERVER[QUERY_STRING']などにきちんと値が入っているか確認した上で試してみてもうまくいかない。

数時間後、しようがないのでperlに書き直して試した・・・なぜかうまくいく。

どうもperlでは、環境変数が渡されているがPHPだと渡されてないようだ。

そこでやっとこさ辿りついたのが、putenv。

putenv('REQUEST_METHOD='.$_SERVER['REQUEST_METHOD']);
putenv('QUERY_STRING='.$_SERVER['QUERY_STRING']);
した後、execするとやっとこさPHPでもうまくいきました。

ふぅ。

 
 
1