Hoje perdi um bom tempo com um problema no WordPress de um outro blog que eu mantenho, que foi resolvido com uma mísera linha de configuração do PHP. Eu vi outras pessoas reclamando do mesmo problema, sem resposta. Só depois de procurar muito foi que encontrei a solução do problema aqui.
Depois que eu atualizei o WordPress desse outro blog para a versão 3.0.1, não consegui mais escrever nenhum post nem atualizar nenhum plugin. A atualização dos plugins gerava um erro no arquivo de log do apache assim:
PHP Fatal error: Trying to clone an uncloneable object of class ZipArchive
e também assim: (substituí o IP por XXX.XXX.XXX.XXX)
[error] [client XXX.XXX.XXX.XXX] ALERT - canary mismatch on efree() - heap overflow detected (attacker 'XXX.XXX.XXX.XXX', file 'wp-admin/includes/template.php', line 3549), referer: wp-admin/plugins.php?deactivate-multi=true&plugin_status=all& paged=1
A página de novo post mostrava um erro semelhante a esse acima.
Tentei de tudo! Desativei todos os plugins, reinstalei o WordPress do zero, atualizei o PHP, Apache, MySQL, e tudo mais, apaguei a pasta de plugins… Nada. Até que achei a tal página lá de cima que me deu a resposta para o problema.
A solução foi desligar a configuração de compatibilidade com o PHP 4.X no arquivo php.ini e reiniciar o apache. Assim:
; Enable compatibility mode with Zend Engine 1 (PHP 4.x) zend.ze1_compatibility_mode = Off
Depois de mudar essa configuração no seu php.ini, não se esqueça de reiniciar o seu apache.
Atualização: Depois de escrever esse post, vi na home do WP-Admin a seguinte notícia:
Ah se eu tivesse lido isso antes…
Um comentário em “WordPress 3 – Resolvendo o wp-admin em branco”