Tidak jelas dari pertanyaan Anda apa yang Anda berubah di masing-masing file, tapi saya kira dalam setiap kasus itu adalah yang upload_max_filesize
pengaturan PHP .
Secara umum, pengaturan akan diterapkan dalam urutan ini, masing-masing menggunakan nilai sebelumnya:
- php.ini
- Arahan Apache dalam .htaccess
- panggilan ke
ini_set()
Namun, pengaturan ini didefinisikan sebagai PHP_INI_PERDIR
, yang seperti yang dijelaskan pada halaman ini berarti tidak dapat diatur menggunakan ini_set
, sehingga wp-config.php
tidak dapat mengubahnya. Jadi, dalam contoh yang Anda berikan dalam pertanyaan, itu akan mengambil nilai dari .htaccess 64MB.
Anda dapat memverifikasi ini dengan menjalankan echo ini_get('upload_max_filesize');
suatu tempat di kode Anda.
Perhatikan bahwa ada nilai tempat lain yang dapat diatur yang belum saya sebutkan di atas, seperti file php.ini per pengguna, dan konteks konfigurasi Apache lainnya . Selain itu, beberapa di antaranya dapat dinonaktifkan , jadi jika server Anda tidak disetel untuk mengizinkan over-rides di .htaccess, Anda tidak akan dapat menetapkan nilai di sana juga.
Perhatikan juga bahwa Wordpress menyertakan beberapa variabel konfigurasinya sendiri, yang berinteraksi dengan cara yang berbeda dengan konfigurasi PHP. Misalnya, WP_MEMORY_LIMIT
akan mencoba untuk meningkatkanmemory_limit
pengaturan PHP saat startup, tetapi memiliki kode yang memeriksa dan tidak pernah menurunkannya . Tidak ada aturan umum untuk ini, itu akan berbeda untuk pengaturan yang berbeda.
Pada dasarnya ketiga file dipertimbangkan.
WordPress / server Anda akan memeriksa dalam urutan berikut:
wp-config.php > .htaccess > php.ini
Jika sesuatu pada "level yang lebih tinggi" (kemudian dalam rantai) membatasi nilai Anda, nilai sebelumnya akan diabaikan atau ditimpa. Jika sepotong rantai hilang, nilai dalam
.htaccess
misalnya, yang lebih tinggi berikutnya akan digunakan sebagai gantinya.Dalam contoh Anda
.htaccess
akan membatasimax_upload_size
hingga 64 MB, meskipun server Anda akan baik-baik saja hingga 256 MB dan WordPress juga akan menerima hingga 128 MB dalam ukuran file pertama.Anda juga dapat menetapkan batas berbeda melalui
.htaccess
file dan dengan melakukan ini Anda menimpa nilai dariphp.ini
, sehingga tidak lagi menjadi nilai yang mendominasi. Ini berfungsi di banyak lingkungan hosting, jadi kemungkinan cukup bagus Anda dapat menaikkan atau menurunkan denganmax_upload_size
cara ini.Jika Anda memiliki hosting / server yang dikonfigurasi lebih ketat, ada kemungkinan bahwa opsi untuk mengabaikan pengaturan
php.ini
dinonaktifkan. Dalam hal ini, mengesampingkanmax_upload_size
dari.htaccess
tidak akan berhasil, jadi ini bisa menjadi faktor pembatas.sumber
.htaccess
ada di tengah daftar, mengapa yang menjadi faktor pembatas?Saya pikir flomei harus mengedit jawabannya, karena itu adalah jawaban yang benar tetapi penjelasannya buruk.
Php.ini -> .htaccess -> wp-config.php
sebenarnya urutan setiap file akan dibaca dan akan menetapkan nilai-nilai dengan pertimbangan bahwa tidak ada pengaturan yang ditentukan sebelumnya. Tetapi dalam hal ini ada pengaturan yang ditetapkan sebelumnya, ini akan menjadi "ditunggangi" hanya jika pengaturan baru lebih rendah.Itu berarti, jika Anda memiliki wp-config.php dengan 64Mb dan .htaccess dengan 32 MB: wp-config.php tidak akan mengesampingkan pengaturan itu karena sudah ada batas bawah dan Anda akan berakhir dengan 32Mb.
Tetapi jika Anda memiliki wp-config.php dengan 32Mb dan .htaccess dengan 64 MB, wp-config.php akan menurunkan pengaturan sebelumnya menjadi 32Mb.
Sunting: Untuk memperjelas, seperti yang ditunjukkan IMSoP, wp-config.php hanya memungkinkan Anda mengatur ukuran yang lebih ketat daripada yang diizinkan oleh pengaturan PHP jika Anda mengubah 'WP_MEMORY_LIMIT', itu tidak memungkinkan Anda melampaui itu. Jadi sebenarnya bukan pengaturan yang ditimpa. Bahkan, ada pemeriksaan terpisah yang dilakukan pada titik yang berbeda saat runtime. Jika Anda mengubah pengaturan php
upload_max_filesize
sesuai asumsi (pertanyaan tidak menunjukkan pengaturan mana yang Anda ubah), itu tidak berpengaruh.Juga, Anda harus mempertimbangkan bahwa
post_max_size
harus lebih besar dariupload_max_filesize
pada pengaturan php Andasumber
upload_max_filesize
tidak dapat diubah pada saat runtime (mungkin karena sudah terlambat untuk memiliki efek apa pun) sehinggawp-config.php
tidak dapat memengaruhi dengan satu atau lain cara. Standar bawaan 2MB juga disebutkan, dan Anda pasti dapat mengaturnya lebih tinggi dari itu.wp-config.php
adalahini_set('upload_max_filesize', '32M');
itu akan memiliki efek, pernah , karena pengaturan yang tidak dapat diatur pada saat run-time seperti itu didefinisikan sebagaiPHP_INI_PERDIR
. (Kecuali halaman dokumentasi itu salah, tapi itu sepertinya tidak mungkin.)wp-config.php
nilai - nilai spesifik dan pengaturan nilai PHP sewenang-wenang denganini_set()
. Seperti yang saya pahami, halwp-config.php
ini terutama berkaitan dengan pengaturan nilai konfigurasi khusus WordPress dan banyak dari ini memang dibatasi (mis. Dikenakan batas atas) oleh pengaturan konfigurasi PHP yang mendasarinya (seperti yangWP_MEMORY_LIMIT
disebutkan dalam jawaban). Ini adalah hal WordPress. Namun, ketika mengatur nilai konfigurasi PHP sewenang-wenang menggunakanini_set()
dalam PHP tidak ada batasan seperti itu.