php 5.1.6 json_encode ve CodeIgniter

4 Cevap php

Ben sunucu bu yöntemi (veya json_decode) desteklemiyor php 5.1.6 olduğunu öğrendim bugün birçok yerde ... ajax veri sağlamak için json_encode kullanan bir CodeIgniter uygulama .. ne yapabilirim bina im? lütfen yardım.

4 Cevap

There is an emulation of json_encode() in upgradephp. Just include() that script, and you don't need to rewrite anything.
As alternative you can use PEAR::PHP_Compat. IIRC it has an emulation of that too.
(There are further alternative implementation floating around; but often object-style and not as fast and designed to emulate the core function.)

Sen auto_prepend_file= ile bile onları ayarlayabilirsiniz. Eğer sadece JSON uzantısının etkin istiyorsanız, tabii diğer kaynaklar vardır.

CodeIgniter yerine PHP 5.2 'nin json_ * fonksiyonları kullanabilirsiniz eğer Services_JSON kullanabilirsiniz - Ben aksi takdirde son çare olarak userland PHP kodu kendi uygulamasını kullanır, Zend_Framework varsa json_ * fonksiyonlarını kullanır Zend_Json var biliyorum.

PHP derlemek için sunucuya erişiminiz varsa tabii ki, PHP 5.2 (daha iyi bir çözüm) için uzantısı veya yükseltme deneyebilirsiniz.

EDIT: Yukarıda belirtildiği gibi uyumluluk tabakaların yol alacaktı.

json_decode (PHP 5> = 5.2.0, PECL json> = 1.2.0), bu da sizin sürümünde desteklenen beri ilave edilir, bunu bir denemelisiniz :)

Aslında, 5.1.6 json_decode ve json_encode destekler, ama onlar biraz garip olabilir. Bunu böyle boş anahtarı varsa geçersiz olarak JSON, beslemek sanki içinde, herhangi bir uyarı ya da hatasız ölecek. Ama 5.1.6 ortamında her gün json_encode ve json_decode kullanın. Bu tamamen mümkündür.