xampp에서 PhpSpreadsheet를 사용하여 mysql로 Excel을 가져오기 위한 PHP 코드가 있습니다. 이 코드는 Windows 환경에서 실행될 때 괜찮지만 XAMPP를 사용하여 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;
}
}
}