Bagaimana cara saya mengaktifkan OPCache PHP 5.5 di Ubuntu 14.04?

10

Saya sedang menyiapkan server lokal untuk menguji konfigurasi; ini adalah server LAMP 14,04 yang bersih, seperti yang dipilih selama instalasi OS.

Jika saya mengerti dengan benar, OPCache dilengkapi dengan PHP 5.5 ( php -vmengkonfirmasi ini) tetapi dalam keadaan dinonaktifkan. Saya telah mengikuti saran Internet untuk mengaktifkannya, namun saya menerima pesan campuran tentang apakah ini berhasil atau tidak.

saya php.inimemiliki

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

namun php -i, setelah me-restart mesin, memberitahu saya

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

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

yaitu itu tampaknya diaktifkan, dan secara bersamaan dinonaktifkan.

Apakah memungkinkan OPCache dimungkinkan dengan paket PHP repositori 14,04, atau apakah saya perlu mengkompilasi PHP dari sumber?

mtdevans
sumber

Jawaban:

8

Untuk beberapa alasan, pengaturan fast_shutdown=1menyebabkan masalah dan mencegah dimulainya OPCache. Setelah ini diatur ke 0, OPCache berhasil dan berjalan (mungkin terkait dengan bug ini ?).

Semua yang diperlukan karena itu untuk mengaktifkan OPCache adalah mengatur

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

di Apache php.inidiikuti oleh server restart

service apache2 restart

Catatan: php -icenderung menggunakan yang berbeda php.inidari Apache (misalnya /etc/php5/cli/php.ini), karenanya perbedaan membingungkan dalam pertanyaan awal.

mtdevans
sumber
Ini tidak memperbaiki masalah saya. Ada ide lagi? Saya menggunakan php5-fpm dan saya mengedit php.ini yang benar (shutdown cepat berubah dari 1 menjadi 0 di PHPInfo) dan saya me-restart php5-fpm dan juga nginx
Maciej Swic
Bagi saya masih masalah yang sama: / log: [Sabtu 13 Juni 19: 54: 33.435550 2015] [inti: pemberitahuan] [pid 19088] AH00060: kesalahan seg $ PHP Peringatan: Modul 'Zend OPcache' sudah dimuat di Tidak Dikenal di baris 0 PHP Peringatan: Zend OPcache: pendaftaran modul gagal! dalam Unknown on line 0
Codium
Saya sudah menemukan jawabannya. Saya telah menginstal opcache melalui sudo php5enmod opcache
Codium
Jadi jika /etc/php5/cli/php.initidak benar, apa jalan yang benar?
Qian Chen
2

Saya menghadapi masalah yang sama persis sepanjang hari dan senang saya menyelesaikannya dengan cara di bawah ini. Meskipun, jawaban di atas ditandai sebagai jawaban, jelas dari komentar ke jawaban itu bahwa itu tidak sepenuhnya menjawab pertanyaan.

File yang benar untuk diaktifkan ada di

/etc/php5/cli/conf.d 

Lalu masukkan yang berikut di sana

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

Jangan lupa restart apache

Gunakan alat seperti status Opcache untuk memeriksa apakah semuanya baik-baik saja dan itu akan membantu Anda dengan area yang akan diperbaiki.

Semoga itu bisa membantu seseorang.

Vinu D
sumber
1

Saya mengalami ini ketika menggunakan php-fpm. Saya menemukan di /etc/php5/fpm/conf.d bahwa ada symlink 05-opcache.inike ../../mods-available/opcache.inidan satu 20-opcache.inimenunjuk ke tempat yang sama. Itu menyebabkan konflik.

Saya menghapus satu (20 karena itu memiliki tanggal modifikasi kemudian), restart php-fpm, dan semuanya kembali.

apple4ever
sumber
0

file yang benar adalah :/etc/php5/apache2/conf.d/user.ini

Hanmant
sumber