如何在PHP7中使用Memcached?

时间:2016-04-02 13:47:31

标签: php mysql performance memcached php-7

我试图找到有关在PHP7中使用Memcached的任何信息,但我失败了。唯一有价值的信息是php-memcached repowhile( (read_size = recv(sock , client_message , buf , 0 )) > 0 ) { [...] if(strcmp(message, start_char)) 。{。} 不幸的是,它的travis build和我的机器上的30/126 tests都失败了。

但是Readme.md命令成功并创建了make install文件。这是否意味着我可以在生产中使用此扩展,或者它仍然存在错误,不推荐使用?

我将非常感谢任何建议或工作解决方案。

4 个答案:

答案 0 :(得分:9)

您需要使用php7分支; see here,特拉维斯正在过世。

这应该是在Debian / Ubuntu OS上安装memcached扩展的完整步骤:

sudo apt-get update
sudo apt-get install -y libmemcached-dev libmemcached11 git build-essential

git clone https://github.com/php-memcached-dev/php-memcached
cd php-memcached
git checkout php7
git pull

/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config

make
sudo make install

如果您将这些路径安装在不同的位置,则可能需要更改这些路径。

答案 1 :(得分:6)

在最新的ubuntu上安装memcached以获取最新的php:

sudo apt-get install php-memcached

答案 2 :(得分:3)

对于Debian 8用户,您可以使用:

function initialize() 
    {
        var mapOptions = {
            zoom: 15,
            center: myLatLng,
            mapTypeControl: true, 
            mapTypeControlOptions: {
            style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
            },
            zoomControl: true,
            scaleControl: true,
            scrollwheel: true,
            disableDoubleClickZoom: true,
        };
        var map = new google.maps.Map(document.getElementById("googleMap"),
            mapOptions);
        }

    var marker = new google.maps.Marker({
        position: myLatLng,
        map: map,
        title: 'Hello World!'
      });

    google.maps.event.addDomListener(window, "load", initialize);
    };

答案 3 :(得分:0)

我通过让工匠在Laravel Lumen框架中工作的问题来解决这个问题。

我正在使用PHP 7. PHP 7.0.15-0ubuntu0.16.04.4

我发现唯一的解决方案是使用memcached 安装看似PHP 5版本*:

sudo apt install memcached php-memcached

*

php-memcached/xenial,now 2.2.0-51-ge573a6e+2.2.0-2build2 amd64 [installed]
  memcached extension module for PHP5, uses libmemcached

如果您发现错误:[RuntimeException] Could not establish Memcached connection.,则需要安装memcached扩展名,如上所述sudo apt install memcached(如果你是16.04+,如果< 16.04)

,请使用apt-get