Làm cách nào để kích hoạt chính xác OPCache của PHP 5.5 trong Ubuntu 14.04?


10

Tôi đang thiết lập một máy chủ cục bộ để kiểm tra cấu hình; đó là máy chủ LAMP 14.04 sạch, như được chọn trong quá trình cài đặt HĐH.

Nếu tôi hiểu chính xác, OPCache đi kèm với PHP 5.5 ( php -vxác nhận điều này) nhưng ở trạng thái bị vô hiệu hóa. Tôi đã làm theo các đề xuất của Internet để kích hoạt nó, tuy nhiên tôi nhận được các tin nhắn hỗn hợp về việc liệu điều này có thành công hay không.

Tôi php.ini

zend_extension=/usr/lib/php5/20121212/opcache.so
opcache.enable=1
opcache.enable_cli=1

Tuy nhiên php -i, sau khi khởi động lại máy, đang nói với tôi

Opcode Caching => Disabled
Optimization => Disabled
Startup Failed => Opcode Caching is disabled for CLI

opcache.enable => On => On
opcache.enable_cli => Off => Off

tức là nó rõ ràng được kích hoạt và đồng thời bị vô hiệu hóa.

Có thể bật OPCache với gói PHP kho lưu trữ 14.04 hay tôi cần biên dịch PHP từ nguồn?

Câu trả lời:


8

Vì một số lý do, cài đặt fast_shutdown=1đã gây ra sự cố và ngăn OPCache bắt đầu. Khi điều này được đặt thành 0, OPCache sẽ khởi động và chạy thành công (có thể liên quan đến lỗi này ?).

Do đó, tất cả những gì cần thiết để kích hoạt OPCache là đặt

; Determines if Zend OPCache is enabled
opcache.enable=1

trong Apache php.initheo sau là khởi động lại máy chủ

service apache2 restart

Lưu ý bên lề: php -icó xu hướng sử dụng khác php.inivới Apache (ví dụ /etc/php5/cli/php.ini), do đó có sự khác biệt khó hiểu trong câu hỏi ban đầu.


Điều này đã không khắc phục vấn đề của tôi. Còn ý tưởng nào nữa không? Tôi đang sử dụng php5-fpm và đang chỉnh sửa php.ini chính xác (tắt nhanh đã thay đổi từ 1 thành 0 trong PHPInfo) và tôi đã khởi động lại php5-fpm cũng như nginx
Maciej Swic

Đối với tôi vẫn là vấn đề tương tự: / log: [Sat Jun 13 19: 54: 33.435550 2015] [core: notify] [pid 19088] AH00060: seg error $ PHP Cảnh báo: Module 'Zend OPcache' đã được tải trong Unknown 0 dòng Cảnh báo: Zend OPcache: đăng ký mô-đun không thành công! không xác định trên dòng 0
Codium

Tôi đã tìm ra nó. Tôi đã cài đặt opcache qua sudo php5enmod opcache
Codium

Vậy nếu /etc/php5/cli/php.inikhông chính xác, con đường chính xác là gì?
Qian Chen

2

Tôi đã đối mặt với chính xác vấn đề này suốt cả ngày và rất vui vì tôi đã giải quyết nó theo cách dưới đây. Mặc dù, câu trả lời ở trên được đánh dấu là một câu trả lời, nhưng rõ ràng từ các bình luận cho câu trả lời đó là nó không hoàn toàn trả lời câu hỏi.

Các tập tin chính xác để kích hoạt là trong

/etc/php5/cli/conf.d 

Sau đó nhập vào sau đây

zend_extension=opcache.so
opcache.memory_consumption=128
opcache.max_accelerated_files=2500
opcache.interned_strings_buffer=8
opcache.revalidate_freq=60
opcache.fast_shutdown=1

Đừng quên khởi động lại apache

Sử dụng một công cụ như trạng thái Opcache để kiểm tra xem mọi thứ có ổn không và nó sẽ giúp bạn điều chỉnh các khu vực.

Hy vọng rằng sẽ giúp được ai đó.


1

Tôi gặp phải điều này khi sử dụng php-fpm. Tôi phát hiện ra trong /etc/php5/fpm/conf.d rằng có một liên kết tượng trưng 05-opcache.iniđến ../../mods-available/opcache.inivà một 20-opcache.initrỏ đến cùng một chỗ. Điều đó đã gây ra một cuộc xung đột.

Tôi đã xóa một (20 kể từ đó có ngày sửa đổi sau đó), khởi động lại php-fpm và mọi thứ trở lại.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.