2016-04-25 2 views
0

私はPHPオフィスをlaravelアプリケーションに統合しています。 xampp localhost上で実行すると動作しますが、IISプロダクションサーバーで使用すると "申し訳ありませんが、内容に問題があるためtext.docxを開くことができません。ファイルが壊れています開くことはできません。私は「読めないコンテンツ」について私に警告する2つのエラーポップアップをクリックしてファイルを開くことができます。最終的にファイルを開くと、ファイルは正常に見えます。 IISサーバーでは、XMLリーダーの&ライターとZend Extension 220131226を使用して、バージョン5.9.14のlibxml2バージョン2.9.2を使用しています。 ここで問題のコードがありますが、セクションを引き出しても同じエラーが発生します私の文字列の書式設定。 両方のサーバーで文書が「印刷レイアウト」ではなく「読み取りモード」で開くことも関係あります。私はそれが印刷レイアウトで開くことをお勧めします。IISサーバーでPHPWordファイルが壊れています

$phpWord = new \PhpOffice\PhpWord\PhpWord(); 
$phpWord->getCompatibility()->setOoxmlVersion(15);  

$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007'); 
header("Content-Description: File Transfer"); 
header('Content-Disposition: attachment; filename="' . $client->last_name . '.docx"'); 
header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document'); 
header('Content-Transfer-Encoding: binary'); 
header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
header('Expires: 0'); 
$objWriter->save("php://output"); 

答えて

0

コードがXAMPPで動作する場合、私はコードについて心配しません。環境と可能な限り一致させてください。 PHPIISに実行することは、Linux環境と同じではありません。

関連する問題