Saya mengalami masalah di WordPress di mana PHP sedang sekarat. Saya telah meningkatkan memori, tetapi proses PHP melonjak hingga 100% penggunaan CPU kemudian mati dan Apache melempar 500 kesalahan.
Saya sudah mencoba membuat Apache untuk mencatat sesuatu, atau PHP / MySQL untuk mencatat kesalahan tetapi tidak ada yang dicatat selain kesalahan umum 500.
Masalah 500 ada di halaman daftar misalnya:
/wp-admin/edit.php?post_type=artist
Saat ini kami memiliki lebih dari 1200 entri artis di WordPress, jika saya menambahkan jenis tanggal seperti ini:
/wp-admin/edit.php?post_type=artist&orderby=date
Kemudian daftar memuat dengan baik, bahkan cepat! Saya telah duduk dan menyaksikan log kueri MySQL dan tampaknya WordPress memuat meta data untuk setiap posting (semuanya 1.200) untuk menghasilkan daftar 10 atau lebih. Untuk hanya satu dari kueri, itu menghasilkan 92000 baris. Saya menggunakan Bidang Kustom Tingkat Lanjut dan templat dengan kerangka kerjanya sendiri, sehingga setiap pos memiliki sebagian besar meta data terlampir. Saya berpikir bahwa ini terlalu banyak data untuk diproses oleh PHP dan saya memukul langit-langit di sini. 1200 posting kemungkinan akan dua kali lipat dengan mudah selama tahun depan.
Bagaimana saya bisa memaksa pemuatan halaman awal untuk menambahkan jenis tanggal atau memperbaiki masalah dengan memuat semua data meta itu?
default-storage-engine=MyISAM innodb_file_per_table=1 max_allowed_packet=268435456 open_files_limit=10000 query_cache_size=64M log_slow_queries = 1 log-slow-queries=/var/log/mysql.slow.log log-error=/var/log/mysqld.log general_log_file = /var/log/mysql_general.log
Jawaban:
Coba ubah hierarkis: salah dalam definisi CPT Anda (jika aplikasi Anda memungkinkan).
Ketika CPT diatur ke hierarkis: true semua posting akan ditanyakan di dasbor admin yang dapat menyebabkan masalah memori.
sumber
Masalahnya adalah bahwa CPT diatur ke hierarkis, mengalihkannya ke hierarkis: false di functions.php menyelesaikan masalah.
sumber