PHPでvirtualが使えなくなったので、その対応。
PHPのvirtualは、PHPがapacheモジュールとしてインストールされた場合のみサポートされるらしく、coreserverのメンテナンスで使えなくなった。
方法として、一般に、
echo file_get_contents
が知られているようなのだけれど、どうも、http://から絶対URLで呼ばないと無理らしく、
virtual ('yomitai.cgi');
を
echo file_get_contents ('http://' . $_SERVER['SERVER_NAME'] . preg_replace('![^/]*$!', '', $_SERVER['REQUEST_URI']) . 'yomitai.cgi');
に書き換えることになった。
それでも、環境変数を受け継がないなど、いくつか面倒なことがあって、CGIそのものの方も書き換える必要があった。
以上、備忘録。
ちなみに、
preg_replace('![^/]*$!', 〜〜
はもちろん、
preg_replace('/[^\/]*$/', 〜〜
でOK。
ただし、文字コードがshift JISの場合、エディターの設定によっては、バックスラッシュの入力でミスることがあるので、上の方が無難。