2012-10-30 32 views
14

Tôi đang sử dụng this tutorial, cung cấp giải thích chi tiết về cách thiết lập CodeIgniter và Doctrine. Tôi đang sử dụng CodeIgniter 2.1.0 và Doctrine 2.2.1, nhưng tôi gặp phải lỗi này:Doctrine undefined function apc_fetch

Fatal error: Call to undefined function Doctrine\Common\Cache\apc_fetch() in /Applications/XAMPP/xamppfiles/htdocs/emma_watson_shrine/application/libraries/Doctrine/Common/Cache/ApcCache.php on line 52

Bạn có thể giúp tôi không?

Trả lời

11

Bạn cần bật tiện ích mở rộng APC cho PHP.

Làm theo hướng dẫn this.

Hoặc, bạn có thể sử dụng trình điều khiển bộ nhớ đệm khác, như memcache và thay đổi cấu hình Doctrine theo đó.

Kiểm tra doctrine documentation để biết các trình điều khiển bộ nhớ đệm thay thế. Có lẽ giải pháp đơn giản nhất là sử dụng ArrayCache trong quá trình phát triển.

4

Nếu bạn không cài đặt APC và chỉ muốn chạy nó sau đó trong học thuyết-cli.php tại dòng 6, thay đổi chế độ:

define('ENVIRONMENT', 'production'); 

để

define('ENVIRONMENT', 'development'); 

mở Doctrine.php tập tin, tại dòng 36 ~ 43, bạn sẽ thấy lý do tại sao!

+0

Điều này thực hiện đánh dấu. Cảm ơn nhiều. – Yasitha

3

từ PHP 5,5 APC không còn sử dụng. Bạn nên cài đặt apcu.

Ví dụ:

apt install php5.6-apcu

Thông tin thêm ở đây:

http://php.net/manual/en/opcache.installation.php

Và đối với những người trên php 7 có một mô-đun tương thích ngược:

apt-get install php7.0-apcu 
apt-get install php7.0-apcu-bc 

Ngoài ra, bạn có cần thêm kho này :

apt-add-repository ppa:ondrej/php 
apt-get update 
0

Đối với bất cứ ai nhận được này trên máy Mac, chỉ cần cài đặt apcu sử dụng Homebrew:

brew install php56-apcu

(và bật tiện ích, nếu có yêu cầu).

Các vấn đề liên quan