Ubuntu 14.04でPHP 5.5のOPCacheを正しく有効にするにはどうすればよいですか?


10

ローカルサーバーをセットアップして構成をテストしています。OSのインストール時に選択された、クリーンな14.04 LAMPサーバーです。

私が正しく理解していれば、OPCacheにはPHP 5.5が付属しています(php -vこれを確認します)が無効な状態です。これを有効にするためにインターネットの提案に従いましたが、これが成功したかどうかについての混合メッセージを受信して​​います。

私のphp.ini持っています

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

まだphp -i、マシンを再起動した後、私に言っています

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

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

つまり、明らかに有効であり、同時に無効になっています。

14.04リポジトリPHPパッケージでOPCacheを有効にすることはできますか、それともソースからPHPをコンパイルする必要がありますか?

回答:


8

何らかの理由で、設定fast_shutdown=1が原因で問題が発生し、OPCacheを開始できませんでした。これをに設定すると0、OPCacheは正常に起動して実行されます(このバグに関連している可能性がありますか?)。

したがって、OPCacheを有効にするために必要なのは、

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

Apacheのphp.ini後にサーバーの再起動が続きます

service apache2 restart

補足:Apacheとphp -iは異なるものを使用する傾向があるためphp.ini(例/etc/php5/cli/php.ini:)、元の質問の混乱を招きます。


これで問題が解決しませんでした。これ以上のアイデア?私はphp5-fpmを使用していて、正しいphp.ini(PHPInfoで高速シャットダウンが1から0に変更されました)を編集していて、php5-
fpm

私と同じ問題:/ログ:[Sat Jun 13 19:54:33.435550 2015] [core:notice] [pid 19088] AH00060:seg fault $ PHP警告:モジュール 'Zend OPcache'はすでに行0のUnknownにロードされています警告:Zend OPcache:モジュールの登録に失敗しました!行0の不明
2015年

私はそれを理解しました。sudo php5enmod opcacheを介してopcacheをインストールしました
Codium

では、/etc/php5/cli/php.ini正しくない場合、正しいパスは何ですか?
Qian Chen

2

私は1日を通してまったく同じ問題に直面し、以下の方法で解決したことをうれしく思います。上記の回答は回答としてマークされていますが、その回答に対するコメントからは、質問に対する回答が完全ではないことは明らかです。

有効にする正しいファイルは

/etc/php5/cli/conf.d 

次に、次のように入力します

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

Apacheを再起動することを忘れないでください

Opcacheステータスなどのツールを使用して、すべてが正常かどうかを確認します。これは、領域を微調整するのに役立ちます。

それが誰かを助けることを願っています。


1

php-fpmを使用しているときにこれに遭遇しました。/etc/php5/fpm/conf.dで、同じ場所へのシンボリックリンク05-opcache.ini../../mods-available/opcache.iniそれを20-opcache.ini指すリンクがあることがわかりました。それが対立を引き起こしていた。

私は1つを削除し(20はそれ以降の変更日があったため)、php-fpmを再起動し、すべてが戻ってきました。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.