Windows,XAMPP,PHP 7和opcache

Krz*_*zos 12 php apache xampp opcache php-7

我用PHP 7安装了最新的XAMPP服务器(更新:还检查了PHP 7.1)(在我的Windows 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
Run Code Online (Sandbox Code Playgroud)

现在有了这个改变,几乎每个页面都刷新了,我从Apache得到这个错误:

AH00428: Parent: child process 3748 exited with status 3221226356 -- Restarting.
Run Code Online (Sandbox Code Playgroud)

所以,页面正在加载,并且正在加载...等待Apache再次启动.当我关闭opcache(通过设置opcache.enable=0)时,Apache没有重启,一切正常(当然,省略了较慢的Web应用程序主题).

在启用PHP 5.6的XAMPP上加载应用程序时,一切正常opcache.

编辑(添加GIF图像):
正如您所看到的,有时页面刷新应该如此.但有时它会刷新更长时间,而Apache正在重启.

在此输入图像描述

编辑:
说实话,我放弃了这个应用程序,并在Windows上使用PHP(正在使用PHP <= 5.6)大约10年.现在很难/不可能(现在)使PHP 7.x在该操作系统上运行(使用Opcache).决定使用Ubuntu和使用Docker创建的服务器.一切都更容易配置(特别是使用Docker)并且工作得更快.我建议大家也这样做;).

Key*_*ang 13

你的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
Run Code Online (Sandbox Code Playgroud)

更多细节

如果你的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服务器.


Kai*_*las 5

打开一个php.ini文件

  1. ;opcache.enable=1更改为opcache.enable=1
  2. 在文件末尾添加opcache dll路径zend_extension = "C:\xampp\php\ext\php_opcache.dll"
  3. 重启apache

如需更多参考,请查看此视频https://www.youtube.com/watch?v=GvWrNoRDjUY


小智 0

创建具有适当权限的目录并将其设置为 php.ini 有效!

opcache.file_cache=d:\xampp\htdocs\opcache
Run Code Online (Sandbox Code Playgroud)