Laman » bagaimana untuk » Bagaimana Meningkatkan Had Saiz Upload Fail PHP

    Bagaimana Meningkatkan Had Saiz Upload Fail PHP

    Jika anda mempunyai aplikasi web yang memuat naik fail ke pelayan melalui skrip PHP, anda mungkin perhatikan bahawa secara lalai anda tidak boleh memuat naik fail yang sangat besar. Inilah caranya untuk mengubahnya.

    Alasan had ditetapkan agak rendah secara lalai adalah untuk kestabilan dan sebab keselamatan - skrip jahat atau penyerang boleh cuba untuk DoS pelayan anda dengan muat naik fail yang besar dan menutup aplikasi anda buat sementara waktu.

    Untuk menukar nilai yang anda perlukan untuk mengedit fail php.ini anda, biasanya dijumpai pada laluan fail ini:

    /etc/php.ini

    Berikut ialah tetapan yang ingin anda ubah:

    post_max_size
    Tetapan ini mengawal saiz jawatan HTTP, dan perlu ditetapkan lebih besar daripada tetapan upload_max_filesize.

    upload_max_filesize
    Nilai ini menetapkan saiz maksimum fail muat naik.

    memory_limit
    Anda akan memastikan had ingatan skrip anda ditetapkan pada saiz yang baik, mungkin lebih besar daripada kedua-dua tetapan yang lain.

    Menetapkan Pembolehubah

    Anda boleh menetapkan nilai dengan menggunakan nilai angka diikuti oleh M untuk jumlah MB yang anda mahu peruntukkan untuk setiap pembolehubah. Sebagai contoh, untuk membolehkan fail 20MB dimuat naik, anda akan menggunakan sesuatu seperti ini:

    memory_limit = 64M
    upload_max_filesize = 20M
    post_max_size = 25M

    Anda perlu memulakan semula pelayan Apache sebaik sahaja anda membuat perubahan ini, dengan arahan ini:

    /etc/init.d/httpd restart

    Menetapkan Saiz Unggah Per Permohonan

    Anda boleh membuat perubahan ini untuk aplikasi web tertentu dengan memasukkannya ke fail .htaccess, dalam direktori aplikasi. Perhatikan bahawa ini hanya akan berfungsi jika pelayan anda telah menghidupkan tida untuk hos maya atau pelayan anda.

    Sebagai contoh, anda boleh memasukkan yang berikut ke dalam fail:

    php_value memory_limit = 64M
    php_value upload_max_filesize = 20M
    php_value post_max_size = 25M

    Sebaik sahaja anda menyimpan fail itu, perubahan itu perlu digunakan.