私は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");