Antecedentes:
Existe um conflito de licenciamento com distribuições Linux sobre uma cláusula Crockford licença que declara:
O Software deve ser usado para o bem, não para o mal.
Isto não concorda com a liberdade da Fundação do Software Livre (FSF) 0:
A liberdade de executar o programa para qualquer propósito. ( source )
A solução para isso deve ser uma biblioteca recém-escrita pecl-json-c empacotada como php5-json. A biblioteca json recém-usada não parece ser compatível com o firephp . Mas se você usar o software para o Bem, não para o Mal, talvez queira restaurar a biblioteca original do Crockford.
Etapas para restaurar a biblioteca do Crockford
1) Obtenha a biblioteca original do json 1.2.1 e descompacte-a.
2) Instale o php5-dev (no Debian sudo apt-get install php5-dev
) que vem com a ferramenta phpize
. (fonte: Como criar extensões PHP ).
3) Como jacekk sugere que você precisa substituir uma ocorrência de function_entry
em json.c
com zend_function_entry
.
4) Como Estrela sugere que você precise substituir ZVAL_DELREF
por Z_DELREF_P
em três locais no arquivo JSON_parser.c
. < br>
5) Então você muda o diretório para o json-1.2.1 e executa
phpize
./configure
make
6) Infelizmente você não pode remover o pacote php5-json, porque ele levará consigo todo o php. Em vez disso, você precisa localizar a biblioteca json.so ( dpkg -L php5-json | grep json.so
fará).
7) Como a raiz substituir o json.so de Remi com o json de Crockford.so você acabou de compilar.
Desvantagens
Com a próxima atualização do php5-json você receberá de volta a biblioteca de Remi.
Agora você está usando software não-livre.
Você está bagunçando seu sistema.
Algumas pessoas afirmam que a biblioteca do Remi tem mais recursos, o que provavelmente é verdade, porque a biblioteca do Crockford é de 2005.