ข้อผิดพลาดร้ายแรง: การโทรไปยังฟังก์ชั่นที่ไม่ได้กำหนด cache_get () [ปิด]


10

ฉันได้รับข้อผิดพลาดต่อไปนี้บนเซิร์ฟเวอร์

Fatal error: Call to undefined function cache_get() in includes/module.inc on line 665
Drush command terminated abnormally due to an unrecoverable error.                                                                                [error]
Error: Call to undefined function cache_get() in includes/module.inc, line 665

จะแก้ไขได้อย่างไร?


1
ในกรณีของฉันฉันพบปัญหาพื้นฐานโดยการเพิ่มการfunction cache_get() { return false; } settings.php
kqw

5
ในกรณีของฉัน Ubuntu ตั้งค่าให้ใช้ php7 เป็นค่าเริ่มต้น Drush ต้องการ php5 โดยสมมติว่าเซิร์ฟเวอร์ของคุณใช้ php5 อยู่ ... ลองsudo ln -sfn /usr/bin/php5 /etc/alternatives/php
Jorge Orpinel

คำตอบ:


2

เมื่อคุณพิมพ์drushในบรรทัดคำสั่งคุณอาจมาถูกที่แล้วเพื่อแก้ปัญหาของคุณ ข้อผิดพลาดนี้เกิดขึ้นเมื่อdrushไม่ทันสมัยและเกิดขึ้นเมื่อคุณติดตั้งdrushจากที่เก็บอย่างเป็นทางการใน Ubuntu

วิธีแก้ปัญหาง่ายนิดเดียวเพียงติดตั้ง drush เวอร์ชั่นใหม่! คุณต้องติดตั้งจากแพคเกจ backports ของ Ubuntu


ฉันยังพบวิธีแก้ปัญหาเดียวกันฉันใช้ Drush 4.6 ฉันสามารถอัปเกรดเป็นเวอร์ชันใดได้บ้าง
Dinesh Kumar Sarangapani

13

สำหรับฉันสาเหตุนั้นแตกต่าง: ข้อผิดพลาดบางอย่างไม่ได้ถูกจัดการโดยตัวจัดการข้อผิดพลาดของ Drupal

ฉันใช้new DateTime()ในsettings.php(อาจหายากมาก) มันสร้างข้อผิดพลาดเนื่องจากการdate.timezoneตั้งค่าใน CLI ของฉันphp.iniไม่ได้ถูกตั้งค่า

เพื่อค้นหาข้อผิดพลาดจริง (นี่คือส่วนที่น่าสนใจของคำตอบสำหรับคุณทุกคนฉันคิดว่า):

แก้ไขของคุณmodule.incบรรทัด 723

เพิ่มบรรทัดเหล่านี้ก่อนการcache_getโทร

if (!function_exists('cache_get')){ 
    debug_print_backtrace(); 
}
$implementations = cache_get('module_implements', 'cache_bootstrap');

มันอาจให้ข้อมูลมากมายเกี่ยวกับสาเหตุที่แท้จริงของปัญหา!


สิ่งนี้มีประโยชน์มากสำหรับฉันฉันมีปัญหาเพราะปัญหาใน fast404 ดูเหมือนว่ามีหลายวิธีในการเข้าถึงข้อผิดพลาดนี้เทคนิคนี้จะช่วยในการตรวจแก้จุดบกพร่อง ขอบคุณ
casivaagustin

มีความสุขที่ได้ช่วย :)
เอเตียน

1
ฉันมีข้อผิดพลาดทางไวยากรณ์ใน settings.php ที่ทำให้เกิดข้อผิดพลาดร้ายแรง: การเรียกไปยังฟังก์ชั่นที่ไม่ได้กำหนด cache_get () ฉันขอแนะนำให้ผู้ที่มีปัญหานี้ตรวจสอบไฟล์ settings.php อีกครั้ง
ndvo

นี่คือพื้นฐานสำหรับปัญหา PHP รุ่นล่าสุดที่ session.save_handler ไม่ทำงาน ดังนั้นโปรดลบบรรทัดร้องออกจาก settings.php ini_set ('session.save_handler', 'user'); หรือแทนที่บรรทัดด้วย session_set_save_handler (new SessionHandler ()); ---------------------------- บรรทัดปัจจุบัน ini_set ('session.save_handler', 'ผู้ใช้'); ต้องการแทนที่ด้วย session_set_save_handler (ใหม่ SessionHandler ());
tapas talukder
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.