症状 PHP5.3.0以上でMBFPDFを使用してPDFを作成しようとすると、「ファイルが破損している」または「正しくエンコードされなかった」というエラーが出て、PDFが表示されなくなる。 原因 PHPでは、バージョン5.3.0以降マジッククォート機能を非推奨としており、これらの関数を使用すると警告が表示されるようになった。MBFPDFを使用している場合、この警告がPDFファイルに直接書き込まれてしまうため、不正な文字列がファイルの破損とみられ、正しく表示されなくなってしまったものと思われる。 解決法 もともとMBFPDFではマジッククォート機能を使用しておらず、一時的に機能を無効化するために関数を呼び出しているだけであるため、この関数をそのままコメントアウトさせると正常に動作する。 具体的には「mbfpdf.php」をテキストエディタで開き、下記の部分をコメントアウトする。 465 //