web-dev-qa-db-ja.com

Windows、XAMPP、PHP 7およびopcache

PHP 7(update:チェックもPHP 7.1))で最新のXAMPPサーバーをインストールしましたmyWindows 10システム)。opcacheを使用したいので、php.ini

[opcache]
zend_extension=php_opcache.dll
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000

その変更により、ほぼすべてのページが更新されると、Apacheから次のエラーが発生します。

AH00428: Parent: child process 3748 exited with status 3221226356 -- Restarting.

そのため、ページがロードされ、ロードしています... Apacheが再び起動するのを待っています。 opcacheをオフにするとき(opcache.enable=0)、Apacheは再起動せず、すべて正常に動作します(もちろん、遅いWebアプリケーションのトピックは省略します)。

PHP 5.6を有効にしてopcacheを持つXAMPPにアプリをロードしている間は、すべて正常に動作します。

EDIT(追加されたGIF画像):
ご覧のとおり、時々ページが更新されるはずです。しかし、場合によってははるかに長く更新され、Apacheはその瞬間に再起動します。

enter image description here

編集:
正直に言うと、私はこのアプリケーションをあきらめ、WindowsでPHPを使用していました(PHP <= 5.6)。(今のところ)PHP 7.xをそのOSで(Opcacheを使用して)動作させるのは非常に困難/不可能です。UbuntuおよびDockerで作成されたサーバー。すべてが設定が簡単で(特にDockerを使用)、高速に動作します。みんなに同じことをするようにアドバイスしてください;)。

12
Krzysztof Trzos

きみの php_opcache.dllパスが間違っているようです、以下のように書く必要があります。

[opcache]
zend_extension=C:\xampp\php\ext\php_opcache.dll
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.max_accelerated_files=2000

詳細

XAMPPにPHP 5.5+がデフォルトで含まれており、opcacheがすでにバンドルに含まれている場合は、有効にする必要があります。拡張機能を有効にするには:

  1. Php.iniを開きます(デフォルトではC:\ xampp\php\php.iniにあります)。

  2. ファイルの最後に次の行を追加します:zend_extension=C:\xampp\php\ext\php_opcache.dll

  3. Apacheサーバーを再起動します。
13
Key Shang

php.iniファイルを開きます

  1. ; opcache.enable = 1opcache.enable = 1に変更します
  2. ファイルの最後にopcache dllパスを追加zend_extension = "C:\ xampp\php\ext\php_opcache.dll"
  3. Apacheを再起動します

詳細については、このビデオを確認してください https://www.youtube.com/watch?v=GvWrNoRDjUY

4
Kailas

Xamppの場合は、[opcache]の横に次の行を追加するだけです

zend_extension="C:\xampp\php\ext\php_opcache.dll"
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
1
Wasim Khan

正直に言うと、xammpを使用しないでください。現時点では、LinuxサーバーでPHPを実行します。Docker https://docs.docker.com/docker-for-windows/

Vagrant: https://www.vagrantup.com/

どちらもLinuxシステムに基づいており、xammpの問題のほとんどは解決されません。

1
BlackWebWolf
ThreadStackSize 8388608 

同様のケースで助けてくれました。これはhttpdオプションです。

0
Sergey Matunin

適切な権限でディレクトリを作成し、php.iniを設定するとうまくいきました!

opcache.file_cache=d:\xampp\htdocs\opcache
0
Chetan Bhosale