私は、Excel ファイルを開き、開くテンプレートと比較するコントローラーを備えた ZF3 プロジェクトを持っています。
私の開発ノート(xampp)ではすべて正常に動作しますが、本番システム(ubuntu)ではphpspreadsheetがエラーを引き起こします(それが原因だと思います)。
ここに私のコードからのスニペット:
$fileName="./public/files/" . $fileName; //.\ neu
echo $fileName;
$template= new Spreadsheet();
$importdcl= new Spreadsheet();
$template= \PhpOffice\PhpSpreadsheet\IOFactory::load('./public/files/Template_DCL_final.xlsx');
$importdcl= \PhpOffice\PhpSpreadsheet\IOFactory::load( $fileName);
echo "filename geladen";
basePath() が機能しないため、非相対パスにフォルダーが既にあり、結果が得られません。
echo ステートメントは、サーバー ログでエラーが発生しないためです。私の開発システムでは、実稼働システムでエコー テキストが表示され、エラーはロード ステートメントにあるようです。
最初の質問: ここで相対パスを使用するにはどうすればよいですか?
2 番目の質問: スプレッドシート クラスに問題があるかどうかを判断するにはどうすればよいですか?
これはcomposerがロードしたものです:
"phpoffice/phpspreadsheet" : "dev-develop",
このdevバージョンがあるので、それは問題ですか?この時点で、ファイルのパスをいじったり、フォルダーの権限を手動で変更したり、サーバーのログを確認したりしたため、かなり混乱しています。
フォルダ内の権限は次のとおりです。
役立つ提案をいただければ幸いです。