我正在尝试将相当大的PHP 5.3代码库升级到PHP7。它托管在CentOS 6.5上,因此我希望将其保留在该OS上。我目前正在原始的Vagrant机器上进行此操作-我已经成功安装了PHP 7,并且安装了除Memcache之外的所有模块。
以rootpecl install memcache
身份运行时,它尝试安装v2.2.7,但是我从make中获得了很长的错误和警告列表。最后是:
make: *** [memcache.lo] Error 1
ERROR: `make' failed
根据GoPHP7的说法,它应该可以工作,Memcache可以与PHP 7一起工作-它说“ github上的php7端口”。确实在GitHub上有一个Memcache PHP 7端口。当我查看Pecl页面上的Memcache页面时,它表明我应该安装v3.0.8,但这是beta版本(自2013年以来)。
因此,我尝试运行pecl install memcache-3.0.8
,但仍然失败,并出现与上述相同的错误:
make: *** [memcache.lo] Error 1
ERROR: `make' failed
那么是否有可能使Memcache扩展与CentOS 6.5上的PHP 7一起使用?
如果您尚未解决此问题,那么我有一个适合我的解决方案。我使用的是CentOS 7.x,但它仍然可以为您工作,并且其他任何想要在PHP 7中使用pecl-memcache的人(而不是pecl-memcached,因为这是一个完全不同的软件包)。
正如您已经发现的那样,您必须为此使用GitHub上的Memcache PHP 7端口。
登录到您的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
上面的一些注意事项:
希望对您有所帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句