gpt4 book ai didi

memcached - 在 CentOS 上使用 PHP 7 的 Memcache 扩展无法安装

转载 作者:行者123 更新时间:2023-12-04 13:04:12 24 4
gpt4 key购买 nike

我正在尝试将相当大的 PHP 5.3 代码库升级到 PHP 7。它托管在 CentOS 6.5 上,所以我想将它保留在该操作系统上。我目前正在一个处女 Vagrant box 上执行此操作 - 我已经成功安装了 PHP 7,以及除 Memcache 之外的所有模块。

以 root 身份运行 pecl install memcache它尝试安装 v2.2.7,但我从 make 中得到一长串错误和警告。最后是:

make: *** [memcache.lo] Error 1
ERROR: `make' failed

根据 GoPHP7它应该可以工作,Memcache 应该可以与 PHP 7 一起工作 - 它说“github 上的 php7 端口”。确实有 Memcache PHP 7 port on GitHub .当我查看 Memcache page on Pecl页面,它显示我应该安装 v3.0.8,但这是测试版(自 2013 年以来一直如此)。

所以我尝试运行 pecl install memcache-3.0.8它仍然失败,并出现与上述相同的错误:
make: *** [memcache.lo] Error 1
ERROR: `make' failed

那么是否有可能让 Memcache 扩展在 CentOS 6.5 上与 PHP 7 一起使用?

最佳答案

如果您还没有解决这个问题,我有一个对我有用的解决方案。我在 CentOS 7.x 上,但它应该仍然适用于你,以及其他任何想要使用 pecl-memcache 的人使用 PHP 7(不是 pecl-memcached,因为那是一个完全不同的包)。

正如您已经发现的,您必须使用 Memcache PHP 7 port on GitHub为了这。

登录到您的 shell 并执行以下操作:

 1. wget https://github.com/websupport-sk/pecl-memcache/archive/NON_BLOCKING_IO_php7.zip
2. unzip NON_BLOCKING_IO_php7.zip
3. cd pecl-memcache-NON_BLOCKING_IO_php7
4. /opt/cpanel/ea-php70/root/usr/bin/phpize && ./configure --enable-memcache --with-php-config=/opt/cpanel/ea-php70/root/usr/bin/php-config && make
5. cp modules/memcache.so /opt/cpanel/ea-php70/root/usr/lib64/php/modules/
6. echo 'extension=memcache.so' >/opt/cpanel/ea-php70/root/etc/php.d/memcached.ini
7. service httpd restart

上面的一些注释:
  • 将我使用的每个完整路径替换为您自己系统上的适当完整路径。虽然我有/opt/cpanel/ea-php70/root/,但您可能有/opt/php-7.0.7/。如果您像我一样安装了多个 PHP 版本,运行 phpize 最终可能会使用旧版本的 PHP 进行构建。经过反复试验,我发现了这一点。
  • 要找出你的 PHP 模块文件夹在哪里,你可以运行 "/opt/cpanel/ea-php70/root/usr/bin/php -i | grep extension_dir"
  • 如果您已经在其他地方加载了 memcached.ini,您可能不需要执行我正在创建 memcached.ini 的步骤 6。
  • 您可以使用“/opt/cpanel/ea-php70/root/usr/bin/php -i | grep memcache”验证它是否正确构建和安装。如果您看到各种 memcache 条目,则一切都已成功安装。

  • 我希望这会有所帮助!

    关于memcached - 在 CentOS 上使用 PHP 7 的 Memcache 扩展无法安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37550910/

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