เกิดอะไรขึ้นกับ json_encode ใน 13.10 php


26

เพิ่งอัปเดตเป็น 13.10 saucy และjson_encodeหายไปจาก php ที่ให้มา jsonไม่ปรากฏในphpinfo()ผลลัพธ์และฉันได้รับข้อผิดพลาดนี้ในแอปของฉัน:

PHP Fatal error:  Call to undefined function json_encode()

ใครประสบปัญหานี้หรือรู้วิธีแก้ไข?

คำตอบ:


37

ติดตั้งphp5-json:

sudo apt-get install php5-json

สิ่งนี้เคยถูกจัดหาให้โดยphp5-commonแต่มันเปลี่ยนไปใน Saucy ไม่รู้เลยว่าทำไมและดูเหมือนเป็นเรื่องงี่เง่าที่ต้องทำ แต่มันง่ายมากที่จะแก้ไข

หลังจากการติดตั้งตรวจสอบให้แน่ใจว่าได้รีสตาร์ทเซิร์ฟเวอร์ Apache2 ด้วย:

sudo service apache2 restart

6
ขอขอบคุณ. ฉันพบคำอธิบายนี้ ... เรื่องตลก: iteration99.com/2013/php-json-removed-from-php-5-5
Chris DaMour

2
โอ้พระเจ้าก็ว่า ?! ฉันได้อ่านเกี่ยวกับเรื่องไร้สาระทุกเพศทุกวัยที่ผ่านมา แต่ไม่เคยฝันว่าใครจะรู้สึกว่ามันถูกต้องตามกฎหมายต่อใบอนุญาต PHP เสียเวลาเปล่า
Oli

1
@AlexButum ยังอยู่ใน iteration99.com - ยังไม่พร้อมให้บริการในขณะนี้ ฉันเดาว่ามันเป็นไซต์แบบคงที่ (เช่น Jekyll) ที่ยังไม่ได้สร้างใหม่อย่างถูกต้อง
Oli

5

เมื่อคุณติดตั้งแพคเกจนี้หากคุณไม่เห็นการติดตั้งโพสต์เริ่มต้นใหม่ของ php5-fpm อย่าลืมทำสิ่งต่อไปนี้:

sudo service php5-fpm restart

เพื่อนขอบคุณมาก - เพราะคำตอบของคุณฉันสามารถใช้ php-json lib ได้แม้หลังจากรีสตาร์ท / โหลดซ้ำ nginx ไม่โหลด lib นี้ผ่านทาง fpm ขอบคุณมาก.
Arthur Kushman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.