phpoffice/phpspreadがwindowsで正常動作するのにwindowsserverでエラーになる
Trying to access array offset on value of type bool in C:\xampp\htdocs\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Writer\Xlsx\ContentTypes.php on line 195
訳がわからない、エラー原因としては配列にNULLがセットされているようなメッセージだが
やっかいな事に
・windws10+xampp(php7.2)ではエラーにならない
・windowsserver2019+xampp(php7.4)でエラーになる
ロジック的にはオリジナルのシートを読み、データをセットしてsaveするだけの単純な構成
トライandエラーを開始
・白紙sheetなら当然OK
・オリジナルsheetでオブジェクトを省いたものならOK
・オブジェクトだけでもエラー
結論
・windowsserver2019+xampp(php7.4)の時のみ、元シートにオブジェクトがあると
「Trying to access array offset on value of type bool」のエラーになる
対応
・オブジェクトの部分をロジック内で読み込んだ方がよさすな。。
で時間がないので、セルに罫線でオブジェクトと同じような内容をセット
追記
・原因が判明
読み込み元のExcelに=埋め込み(“DStmp.StampObject.4″,””)という数式があり
オブジェクトがない状態であった、
これをネットワーク上のサーバーにそのまま移動すると、この数式がエラーになり
クラッシュしていた、
単純に画像で貼り付けておけば問題なし