Rumah >pembangunan bahagian belakang >tutorial php >Mengapa PHP Saya `ini_set('upload_max_filesize')` Tidak Berfungsi Seperti Yang Dijangkakan?

Mengapa PHP Saya `ini_set('upload_max_filesize')` Tidak Berfungsi Seperti Yang Dijangkakan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-09 17:39:121036semak imbas

Why Doesn't My PHP `ini_set('upload_max_filesize')` Work as Expected?

Menyelesaikan masalah upload_max_filesize Pengubahsuaian dalam PHP

Apabila menghadapi ketidakkonsistenan antara nilai upload_max_filesize yang dimaksudkan dan diperhatikan, adalah penting untuk menyiasat potensi punca. Berikut ialah pemeriksaan lebih dekat tentang isu itu:

Kod dan Tingkah Laku Asal:

<?php
ini_set('upload_max_filesize', '10M');
echo ini_get('upload_max_filesize'), ", ", ini_get('post_max_size');
?>

Setelah dilaksanakan, kod ini mengeluarkan "2M, 8M" walaupun php.ini tetapan ialah:

upload_max_filesize = 10M
post_max_size = 10M

Potensi Punca:

  1. Notasi Pendek:
    Dalam PHP, penggunaan tatatanda trengkas untuk nilai konfigurasi adalah terhad kepada PHP.ini sendiri. Percubaan untuk menetapkan nilai menggunakan tatatanda ini di luar PHP.ini boleh menyebabkan kelakuan yang tidak dijangka, seperti sandaran kepada nilai lalai.
  2. Tetapan Tidak Disokong:
    upload_max_filesize dilaporkan ialah tetapan PHP_INI_PERDIR, bermakna ia tidak boleh diubah suai menggunakan ini_set(). Senarai rasmi arahan PHP mengesahkan perkara ini.

Penyelesaian:

  • Pastikan PHP.ini mengandungi nilai yang betul untuk upload_max_filesize dan post_max_size.
  • Gunakan nilai angka dan bukannya tatatanda trengkas apabila menetapkan nilai ini dalam PHP.ini.
  • Mulakan semula pelayan web (cth., Apache) selepas mengubah suai PHP.ini untuk memastikan perubahan berkuat kuasa.

Setelah pembetulan ini dibuat, kod harus mencerminkan tingkah laku yang dijangkakan dan membenarkan muat naik fail sehingga had yang ditentukan.

Atas ialah kandungan terperinci Mengapa PHP Saya `ini_set('upload_max_filesize')` Tidak Berfungsi Seperti Yang Dijangkakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn