web-dev-qa-db-ja.com

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

構成をテストするためにローカルサーバーをセットアップしています。 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

i.e。明らかに有効であり、同時に無効です。

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

10
mtdevans

何らかの理由で、fast_shutdown=1を設定すると問題が発生し、OPCacheが起動しませんでした。これが0に設定されると、OPCacheは正常に起動して実行されます(おそらく このバグ ?に関連しています)。

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

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

apacheのphp.iniに続いてサーバーの再起動

service Apache2 restart

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

8
mtdevans

私は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ステータスなどのツールを使用して、すべてが正常であるかどうかを確認します。これは、微調整する領域で役立ちます。

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

2
Vinu D

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

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

1
apple4ever

正しいファイルは:/etc/php5/Apache2/conf.d/user.iniです

0
Hanmant