我试图将相当大的PHP 5.3代码库升级到PHP 7.它托管在CentOS 6.5上,所以我想将它保留在该操作系统上。我目前正在使用处女Vagrant盒子 - 我已经成功安装了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 port。的确有一个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
那么可以在CentOS 6.5上使用PHP 7来运行Memcache扩展吗?
答案 0 :(得分:24)
如果你还没有解决这个问题,我有一个适合我的解决方案。我在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
以上的一些注意事项:
我希望有所帮助!