2台のUbuntu10.04ServerEdition上、共にApache+mySQL+php環境を入れております。
同じソースコードを実行した時、
一方のサーバーでは問題なくmb_convert_encoding($str,"SJIS","UTF-8")が実行されますが、もう1台の方ではエラーが無しでコンバートされません。
お互いのphp.iniの設定は全く同じです。他に何か注意する点があれば教えて下さい。
ページ: 1
投稿者 | 投稿 |
---|---|
#1 2011 年 10 月 24 日(月) 15:02
|
|
会員
登録者: 10 2011
返信数: 5
|
2台のUbuntu10.04ServerEdition上、共にApache+mySQL+php環境を入れております。
同じソースコードを実行した時、 一方のサーバーでは問題なくmb_convert_encoding($str,"SJIS","UTF-8")が実行されますが、もう1台の方ではエラーが無しでコンバートされません。 お互いのphp.iniの設定は全く同じです。他に何か注意する点があれば教えて下さい。 |
#2 2011 年 10 月 24 日(月) 15:38
|
|
会員
登録者: 8 2009
返信数: 103
|
display_errors = On
error_reporting = E_ALL|E_STRICT であっても何もエラーが表示されないということでしょうか? |
#3 2011 年 10 月 24 日(月) 17:14
|
|
会員
登録者: 10 2011
返信数: 5
|
早速の返信有難うございます。
現環境で2台とも error_reporting = E_ALL & ~E_DEPRECATED display_errors = Off の設定になっておりましたが、 display_errors = On に変更して実行させたところたっぷりのWarningが表示されました。 そして、その表示内容も2台とも全く同じでした。 |
#4 2011 年 10 月 24 日(月) 17:25
|
|
会員
登録者: 8 2009
返信数: 103
|
rpm系ならphpパッケージのインストールもれとか考えられますが
deb系はよくわかりません。 お力になれずすみません。 |
#5 2011 年 10 月 25 日(火) 11:07
|
|
会員
登録者: 10 2011
返信数: 5
|
補足説明をさせて頂きます。
処理内容はmySQLからデータを取り出しCSV形式に吐き出そうとしています。 $fp = fopen("mtokui.csv", "w"); と fwrite($fp, mb_convert_encoding($rec,'SJIS','UTF-8')); この部分でWarningが発生します。 そして、Warningについてもmb_convert_encodingではなく fopenとfwriteで起こっております。 ファイル自体はSJISに変換されることなく UTF-8で正常に書きこまれております。 |
#6 2011 年 10 月 25 日(火) 12:02
|
|
会員
登録者: 8 2009
返信数: 103
|
<?php
ini_set('display_errors', 1); ini_set('error_reporting', 2147483647); $rec = <<<EOD テスト,csv,文字コード変換 EOD; $fp = fopen("mtokui1.csv", "wb"); fwrite($fp, mb_convert_encoding($rec, 'SJIS', 'UTF-8')); fclose($fp); file_put_contents("mtokui2.csv", mb_convert_encoding($rec, 'SJIS-win', 'UTF-8'), LOCK_EX); 文字コードはUTF-8です。 上記のコードは正常に実行できますか? |
#7 2011 年 10 月 25 日(火) 13:33
|
|
会員
登録者: 10 2011
返信数: 5
|
nullaさんへ:
返信有難うございます。 コードを実行したところ以下の警告が出ました。 正常に実行できていないようです。 Warning: fopen(mtokui1.csv): failed to open stream: Permission denied in /var/www/mtokui.new/csvtest2.php on line 10 Warning: fwrite() expects parameter 1 to be resource, boolean given in /var/www/mtokui.new/csvtest2.php on line 11 Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www/mtokui.new/csvtest2.php on line 12 Warning: file_put_contents(mtokui2.csv): failed to open stream: Permission denied in /var/www/mtokui.new/csvtest2.php on line 14 Permission denied とあるのが気になります。 因みに実行しているディレクトリは drwxr-xr-x 14 root root 4096 2011-10-25 13:31 mtokui となっております。 |
#8 2011 年 10 月 25 日(火) 13:53
|
|
会員
登録者: 8 2009
返信数: 103
|
…以前の問題ですね。
root権限で実行するか(非推奨)、適切なパーミッションを設定してから実行してください。 |
#9 2011 年 10 月 25 日(火) 14:07
|
|
会員
登録者: 10 2011
返信数: 5
|
nullaさんへ:
ありがとうございました。 Permissionを変更して実行させたところ無事に出力出来ました。 お騒がせ致しました。 |
ページ: 1
日本PHPユーザ会 掲示板 は UseBB 1 フォーラムソフトウェア を使用しています