テスト用にIISを使ってWebサーバーを構築し、PHPでCGIを記述した。
PHPはの記述がC/C++と似ているのでそれほど困らない。環境変数でPOSTやGETの内容や種類の他、ログに残したい情報なんかが簡単に取り出せるのは大変便利だと感じた。しかし、途中で???という状態に陥った。readlinkなど、link系の命令でエラーが出た。
調べたら直ぐ納得。Windows上(誤解のないよう・・IISを入れているOSであり、ブラウザを介して見る際のOSではない)では動かない命令があるそうなのだ。
そういうのってVBAでもあるが、OSに依存する部分であり、まだ納得できる。しかし、link系の命令はOSに依存するのだろうか?結構使うかと思うのだが、ないのはちょっと・・。使いやすいPHPのデメリットはその点である。linux使えよ、とつっこみが来そうだが臨時措置なので・・。
結局、その場は何とかかんとかごまかして実装した。
さてさて。CGIとしてはPerlがよく使われているらしい。別にスクリプト言語に限らず、JavaやC、Delphiなども利用できるそうだ。PHPのように環境変数の扱いが便利なものもあるだろう。場合によって最適なモノは変わるだろうが、生産性や保守性、安定性、実行速度、消費リソースなどの観点で調べてみたいと思う。