gpt4 book ai didi

php - 如何在 MacOS High Sierra 上安装 PHP Opcache?

转载 作者:可可西里 更新时间:2023-10-31 22:44:23 29 4
gpt4 key购买 nike

我使用的是 Mac High Sierra 附带的标准 Apache 和 PHP 7.1(不是 Homebrew)。然而,这个版本似乎没有启用 Opcache,即使它应该作为 PHP 7 的标准配置。它甚至在“模块作者”下的 phpinfo() 中列出,但没有部分显示它实际上是安装。调用 opcache_get_status 会出现 fatal error 。

我已经通过 Homebrew 安装了扩展程序,并链接了 opcache.so 文件。它似乎在 CLI 上工作,但在 Apache 中不起作用。出于某种原因,CLI 和 Web 使用不同的 ini 文件:

  • /usr/local/etc/php/7.1/php.ini 用于 CLI
  • /etc/php.ini 网页版

CLI 正在解析附加文件,包括 /usr/local/etc/php/7.1/conf.d/ext-opcache.iniphp -i显示 Opcache。但是浏览器中的 phpinfo() 没有——没有额外的 ini 文件被解析。

我目前在 /etc/php.ini 中有这个:

[opcache]
zend_extension="/usr/local/opt/php71-opcache/opcache.so"
opcache.enable=1

但还是没有。我对 xdebug 遵循了完全相同的过程,并且工作正常。我错过了什么?


我想知道使用 Homebrew 版本的 PHP 是否会更容易。但我似乎没有所需的 .so 文件。各种教程说把它放在 Apache 的 httpd.conf 中:

LoadModule php7_module /usr/local/opt/php71/libexec/apache2/libphp7.so

但是libexec目录不存在。有 lib 但这个目录和任何其他目录都没有任何 .so 文件。

最佳答案

对我来说,它通过以下步骤起作用:

  1. 在“phpinfo()”页面中搜索extension_dir,我找到了一个路径/usr/lib/php/extensions/no-debug-non-zts-20160303
  2. 通过执行 ls -lh/usr/lib/php/extensions/no-debug-non-zts-20160303,我找到了“opcache.so”,我猜它是在升级到“时安装的” Alpine 脉”
  3. 创建“/etc/php.ini”(通过复制“/etc/php.ini.default”),并修改:
[opcache]
zend_extension = opcache.so
opcache.enable = 1
  1. 重启apache,启用模块“opcache”

编辑/结论

由于Mac OS High Sierra默认安装了“opcache extension”,因此在Mac OS High Sierra上启用opcahe的解决方案是:

  • 如果没有,请创建“/etc/php.ini”,只需复制默认配置即可:sudo cp/etc/php.ini.default/etc/php.ini
  • zend_extension = opcache.so 添加到 /etc/php.ini 并设置“opcache”启用:

php.ini opcache 部分如下所示:

[opcache]
zend_extension = opcache.so
opcache.enable = 1

关于php - 如何在 MacOS High Sierra 上安装 PHP Opcache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47783854/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com