Migrei para um novo servidor e agora estou recebendo este erro:
Fatal error: Call to undefined function json_encode() in /home/weddings/public_html/includes/common.inc on line 5105
A instalação do PS php5-json não resolve o problema.
Responder1
Não posso e não devo marcar isso como duplicado, porque foi solicitado em outro site stackexchange, masessepergunta pode responder ao problema que você está enfrentando. No caso de exclusão futura da referida pergunta, aqui está o que ela diz. Observe que tudo o que for escrito depois disso não será trabalho meu, mas sim de @MirroredFate.
Resposta curta:
sudo apt-get install php5-json
Então é clarocertifique-se de reiniciar o Apache:
sudo service apache2 restart
Ou se você estiver usando PHP-FPM:
sudo service php5-fpm restart
Explicação
O Debian removeu a extensão JSON anterior do PHP 5.5rc2 devido a um conflito de licença.
OLicença JSONtem uma cláusula que diz:
O Software deve ser usado para o Bem, não para o Mal.
Isso causa um problema comDefinição de software livre da Free Software Foundationquais Estados:
A liberdade de executar o programa, para qualquer finalidade (liberdade 0).
A FSF continualiste especificamente a licença JSON como não-livre.
Sim, parece um pouco bobo. No entanto, o Debian removeu a extensão JSON não compatível e, em vez disso, ofereceu umaextensão de substituiçãoisso é funcionalmente equivalente.
Para ser claro: o próprio PHP NÃO removeu o JSON, éainda no mestre. Este é um problema de distribuição/gerenciador de pacotes.
Não removemos o json e nunca lançaremos uma versão do php sem suporte json integrado. Quaisquer alterações no 5.5 são devidas a qualquer pacote de distribuição que você esteja usando e sobre o qual não temos controle.
Mais detalhes
http://iteration99.com/2013/php-json-licensing-and-php-5-5/
http://liorkaplan.wordpress.com/2013/06/01/bye-bye-non-free-php-json-extension/
https://bugs.php.net/bug.php?id=63520
http://philsturgeon.co.uk/blog/2013/08/fud-cracker-php-55-never-lost-json-support