web-dev-qa-db-ja.com

DebianでOPcacheを有効にする方法は?

Php5-fpmをインストールしたところです。すべてのソースによると、apcモジュールはOPcacheに置き換えられ、デフォルトでコンパイルされていますが、有効になっていません。

このモジュールを有効にするにはどうすればよいですか。サーバーでopcache.soファイルが見つかりません

確認しました /usr/lib/php5および/etc/php5が見つかりません。

php -v
PHP 5.4.4-14+deb7u4 (cli) (built: Aug 23 2013 14:37:41)
5
user189078

PHPはshaun mの言うように更新できます。または、更新したくない場合は、PECLからzendopcacheをインストールできます。

最新バージョンを確認 ここ 、これによりバージョン7.0.3がインストールされます。

Php-pearを使用して「pecl」をインストールします

`Sudo apt-get install -y php-pear`

ビルドの依存関係をインストールする

Sudo apt-get install -y build-essential php5-dev

Zend OpCacheをインストールする

Sudo pecl install zendopcache-7.0.3

Opcache.soの場所を見つける

Sudo find / -name 'opcache.so'

鉱山は

/usr/lib/php5/20100525/opcache.so

次に、opcache.iniを作成します。

Sudo vim /etc/php5/mods-available/opcache.ini

この情報を追加

zend_extension=/usr/lib/php5/20100525/opcache.so # File path from above
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

次に、confファイルのシンボリックリンクを作成します

Sudo ln -s /etc/php5/mods-available/opcache.ini /etc/php5/conf.d/20-opcache.ini

サービスを再開する

Sudo service php5-fpm restart
Sudo service Apache2 restart

インストールを確認

php -v

それは言及する必要があります

Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

次に(オプションで)クリーンアップして終了します

Sudo apt-get remove --purge build-essential php5-dev

参考

13
Jeremy Davis

OPCacheは、新しいPHP 5.5ではデフォルトで有効にされ、コンパイルされます。Wheezyに付属する5.4では使用できません。OPCacheとPHP = 5.5のDebianでは、dotdebリポジトリ(以下を参照)を追加し、そこからインストールする必要があります。

deb http://packages.dotdeb.org wheezy-php55 all 
deb-src http://packages.dotdeb.org wheezy-php55 all
2
shaun m

ジェレミー・デイビスの答えに追加するには...

/ tmpディレクトリが「noexec」としてマウントされている場合(そこに記述されたスクリプトの実行を防止します。これは一般公開サーバーで一般的です)、pecl installコマンドは次のように失敗します。

shtool at '/tmp/pear/temp/zendopcache/build/shtool' does not exist or is not executable.
Make sure that the file exists and is executable and then rerun this script.

これを回避するには、次のように、/ tmpパーティションをexecとして再マウントしてから、pecl install、henをnoexecとして再マウントします。

mount -o remount,exec /tmp
pecl install zendopcache
mount -o remount,noexec /tmp

これが問題ないことをシステム管理者に確認した後、本番サーバーで試してみましたが、完全に正常に動作しました(PHPのプロセスを再起動する必要があります(FPMまたはApacheモジュール))。それでもとにかく、非常に高負荷のサーバーではおそらく良い考えではありませんが、穏やかに使用されるパブリックサーバーの場合、プロセス全体がうまく機能するようです。

0
ywarnier

APC whit peclをインストールできます

pecl install apc

これをインストールするには、php-pearとphp-devが必要です。

または、whit apt-getをインストールできます

apt-get install php5-apc
0
Skamasle