http://sb.xrea.com/archive/index.php/t-8557.html
が、以下のようなtest.phpファイルを作成しましたが、echoが何も出力しません。(s32, s56サーバにて)
kakasiをインストールしたローカルの Mac OS X 10.4.6 (PHP 4.4.1 / Apache 1.3.33) では/usr/local/bin/kakasiで出力しました。
どう改良したらいいでしょうか。
<?php
$word='日本語のコメントを受け取り、分かち書きをしたい。';
$cmd="echo '$word' | /usr/local/php/bin/kakasi -w";
echo exec($cmd, $array);
$cmd="echo '$word' | /usr/local/bin/kakasi -w";
echo exec($cmd, $array);
?>
まずは.htaccessを設定して、mod_phpの動作をcgiとして
動作させることが必要です。
http://sb.xrea.com/showthread.php?t=10744
phpがsafe_modeで動いているようなので、popen()やexec()が動作しないからです。
.htaccss <files kakasi.php> AddHandler application/x-httpd-phpcgi .php </files>
次に私は以下のように設定しました。
kakasi.php <?php mb_internal_encoding('eucjp-win'); $input = 'eucjp-win'; $output = 'sjis-win'; $word = '日本語のコメントを受け取り、分かち書きをしたい。'; $kakasi_cmd = '/usr/local/bin/kakasi -w'; $result = exec('echo \''. $word. '\' | '. $kakasi_cmd); echo mb_convert_encoding($result, $output, $input); ?>
これで、お望みの動作はするようです。
完璧な回答、誠に有り難うございました。
問題なく動作しました。
エンコードに関する記述も参考になりました。
今後またお見かけしたらよろしくお願いします。