ようこそゲスト さん ユーザー登録 ログイン

xrea.comでは全サーバにkakasiがインストール済みだそうです。

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);
?> xrea.comでは全サーバにkakasiがインストール済みだそうです。 http://sb.xrea.com/archive/index.php/t-8557.html が、以下のようなtest.phpファイルを作成しましたが、ec.. を含むブックマーク

  • kazumichi あなたも質問に答えられます! ウォッチリストに追加 twitterアイコンTwitterでつぶやく
  • 状態:終了 いるか
  • 回答数:1 / 45件
  • 回答ポイント:60ポイント
  • 登録:2006-05-04 00:39:10
  • 終了:2006-05-04 08:46:25
  • カテゴリー:コンピュータコンピュータ ウェブ制作ウェブ制作

1 回答者:abunakunai 2006-05-04 02:43:46 満足! 60ポイント

まずは.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);
?>

これで、お望みの動作はするようです。

質問者:kazumichi 2006-05-04 08:43:52

完璧な回答、誠に有り難うございました。

問題なく動作しました。

エンコードに関する記述も参考になりました。

今後またお見かけしたらよろしくお願いします。

おとなり質問

この質問・回答へのトラックバックこの質問・回答へのトラックバック

xreaxrea パンデイロ惑星 (PukiWiki/TrackBack 0.3) 2006-05-04 15:53:34
検討中のサーバ。 サポートはほとんどなし。 どうなんでしょう。 ひげぽん OSとか作っちゃうかMona- - xrea &quot;大変そう。アクセス解析が見れなくてつらいとかpop3が使えないとか結構困り