Linux サーバーを実行すると HTTP エラー 500 が発生しますか?

Linux サーバーを実行すると HTTP エラー 500 が発生しますか?

私は、xampp の PhpSpreadsheet を使用して Excel を mysql にインポートするための PHP コードを持っています。このコードは Windows 環境で実行する場合は問題ありませんが、XAMPP Linux を使用して Linux サーバー (Ubuntu 22.04) にホストすると、「HTTP ERROR 500」というエラーが発生します。phpspreadsheet.readthedocs.io ドキュメントに基づいて、PhpSpreadsheet に必要なすべてのパッケージと拡張機能をインストールしました。このエラーがサーバー側にある場合は、どうすればよいですか? 助けてください

これらは私のインポートファイルのコードです

作曲家.json

{
"name": "mark/import1",
"autoload": {
    "psr-4": {
        "Mark\\Import1\\": "src/"
    }
},
"authors": [
    {
        "name": "mark"
    }
],

 "require": {
    "phpoffice/phpspreadsheet": "^1.28"
},
"config": {
    "platform": {
        "php": "8.1"
    }
}
}

インポートコード

<?php
 $con = mysqli_connect('localhost','root','','db_import');

 require 'vendor/autoload.php';

 use PhpOffice\PhpSpreadsheet\Spreadsheet;
 use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

  if(isset($_POST['save_excel_data']))
  {
   $fileName = $_FILES['import_file']['name'];
   $file_ext = pathinfo($fileName, PATHINFO_EXTENSION);

   $allowed_ext = ['xls','csv','xlsx'];

  if(in_array($file_ext, $allowed_ext))
  {
    $inputFileNamePath = $_FILES['import_file']['tmp_name'];
    $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileNamePath);
    $data = $spreadsheet->getActiveSheet()->toArray();

foreach($data as $row)
{
            $fullname = $row['0'];
            $email = $row['1'];
            $phone = $row['2'];
            $course = $row['3'];
    
    $studentQuery = "INSERT INTO students (fullname,email,phone,course) 
                            VALUES('$fullname','$email','$phone','$course')";
            $result = mysqli_query($con, $studentQuery);
            $msg = true;    
}
 }
 }

関連情報