PHPがdbase(dbf)ファイルを読み取るのに奇妙な問題があります。
私の開発環境
- OS:Win 7
- PHPバージョン:5.3.8
- Webサーバー:Apache 2.2
私の本番環境
- OS:Centos 5.5
- PHPバージョン:5.3.12
- Webサーバー:nginx 1.2.1
これらの環境は両方とも、標準のphp dbase拡張機能を使用します(unix: http: //pecl.php.net/package/dbase、win:http: //downloads.php.net/pierre/)。
1つの列が値を持つfloat(10,2)であるdbfファイルがあります。たとえば、26.14です。開発環境でこのファイルを読み取ると、正しく表示されます( "26.14")が、実稼働環境でまったく同じ操作を実行すると、「26」だけが出力されます。コードは次のとおりです。
<?php
$db = dbase_open($path_to_dbf, 0);
$record_numbers = dbase_numrecords($db);
for ($i = 1; $i <= $record_numbers; $i++)
{
$row = dbase_get_record_with_names($db, $i);
echo '<pre>', var_dump($row), '</pre>';
}
?>
私は本当に混乱していて、この問題の解決策をどこから探し始めるのかわかりません。誰か助けてもらえますか?