Ich habe diesen PHP-Code zum Importieren von Excel in MySQL mithilfe von PhpSpreadsheet in xampp. Dieser Code ist in Ordnung, wenn er in einer Windows-Umgebung ausgeführt wird, aber wenn ich ihn mit XAMPP Linux auf einem Linux-Server (Ubuntu 22.04) hoste, tritt der Fehler „HTTP ERROR 500“ auf. Ich habe alle für PhpSpreadsheet erforderlichen Pakete und Erweiterungen installiert, die hier auf der Dokumentation von phpspreadsheet.readthedocs.io basieren. Was soll ich tun, wenn dieser Fehler auf der Serverseite auftritt? Bitte helfen Sie mir
Dies sind meine Codes für meine Importdatei
Komponist.json
{
"name": "mark/import1",
"autoload": {
"psr-4": {
"Mark\\Import1\\": "src/"
}
},
"authors": [
{
"name": "mark"
}
],
"require": {
"phpoffice/phpspreadsheet": "^1.28"
},
"config": {
"platform": {
"php": "8.1"
}
}
}
Einfuhrcode
<?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;
}
}
}