Windows,XAMPP,PHP 7和opcache

2022-08-30 21:00:08

我已经安装了最新的XAMPP服务器与PHP 7(更新:也检查了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

现在有了这种变化,几乎每次页面刷新,我都会从Apache那里得到这个错误:

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

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

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

编辑(添加GIF图像):
如您所见,有时页面会像它应该的那样刷新。但有时它刷新的时间要长得多,Apache在那一刻重新启动。

enter image description here

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


答案 1

你的路径似乎是错误的,你需要像下面这样写,它对我有用。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 服务器。

答案 2

打开一个 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


推荐