php随机取值_太原石家庄合肥

2021-06-28 12:05

阅读:406

标签:fpm   高性能   new   并且   分布式   red   reload   ati   地址   

汕头、湖州、盐城、潍坊、保定、镇江、洛阳、泰州、乌鲁木齐、临沂、唐山、漳州、赣州、廊坊呼和浩特芜湖、桂林、银川、揭阳、三亚、遵义江门、济宁、莆田、湛江、绵阳、淮安、连云港淄博、宜昌、邯郸、上饶、柳州、舟山、咸阳九江、衡阳、威海、宁德、阜阳、株洲、丽水南阳、襄阳、大庆、沧州、信阳、岳阳、商丘肇庆、清远、滁州、龙岩、荆州、蚌埠、新乡鞍山、湘潭、马鞍山、三明、潮州、梅州、秦皇岛南平、吉林、安庆、泰安、宿迁、包头、郴州
memcache和memcached都是Memcached服务器的PHP扩展。其中memcache比memcached早出现,所以一些老的代码可能还在用memcache扩展。可以根据自己需要,安装一个即可。这里两个的安装方法都说一下。

Memcached 是高性能的分布式内存缓存服务器,而PHP memcache 和 memcached 都是 Memcached 服务器的 PHP 扩展。其中memcache 比 memcached 早出现,所以一些老的代码可能还在用 memcache 扩展。memcached 后来出现,并且大部分框架都支持 memcached,现在相对较流行。

安装依赖
首先是 memcached,这个扩展需要 libmemcached 客户端库,否则会出现如下错误

checking for libmemcached location… configure: error: memcached support requires libmemcached. Use –with-libmemcached-dir=
to specify the prefix where libmemcached headers and library are located
ERROR: `/var/tmp/memcached/configure –with-libmemcached-dir=no‘ failed

可以通过如下方法安装

[root@lnmp lnmp.cn]# yum install libmemcached libmemcached-devel

而 memcache 模块使用了函数 zlib 来支持数据压缩,因此安装此模块需要安装 Zlib 模块。否则会出现如下错误:

checking for the location of zlib… configure: error: memcache support requires ZLIB. Use –with-zlib-dir=
to specify prefix where ZLIB include and library are located

ERROR: `/var/tmp/memcache/configure –enable-memcache-session=No‘ failed

可以如下方法用 yum 来安装:

[root@lnmp lnmp.cn]# yum install zlib zlib-devel

安装 memcached 扩展
尝试用 PECL 安装,memcached 在 PECL 上的地址是:

https://pecl.php.net/package/memcached

[root@lnmp lnmp.cn]# pecl install memcached

pecl/memcached requires PHP (version >= 5.2.0, version

No valid packages found

install failed

[root@localhost vagrant]#

提示很明显,PECL 上的 memcached 扩展只支持 PHP 5.2 以上,6.00 以下的版本。还未更新到 PHP7。不过还好的是在 PECL 的 memcached 页面可以找到他们在 github 上的链接:

https://github.com/php-memcached-dev/php-memcached

这上面的代码已经有可以支持到 PHP7 的分支。这里将源码统一下载到 php 源码的 ext 目录:

[root@lnmp lnmp.cn]# cd /usr/local/src/php-7.0.8/ext/

[root@lnmp ext]# git clone https://github.com/php-memcached-dev/php-memcached memcached

[root@lnmp ext]# cd memcached/

checkout 到 php7 分支:

[root@lnmp memcached]# git checkout php7

Branch php7 set up to track remote branch php7 from origin.

Switched to a new branch ‘php7‘

[root@lnmp memcached]#

用 phpize 安装,我的 PHP 是安装在 /usr/local/php7 下

[root@lnmp memcached]# /usr/local/php7/bin/phpize

[root@lnmp memcached]# ./configure –with-php-config=/usr/local/php7/bin/php-config

接着 make 和 make install

[root@lnmp memcached]# make

[root@lnmp memcached]# make install

Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/

[root@lnmp memcached]#

可以看到 memcached 已经安装完成,并且扩展文件已经放到提示的目录:

[root@lnmp memcached]# ls /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/

memcached.so opcache.a opcache.so

[root@lnmp memcached]#

最后一步在 php.ini 中引入 memcached.so

[root@lnmp memcached]# vim /usr/local/php7/lib/php.ini

加入:

extension=memcached.so

记得 reload 一下 php-fpm 才能生效

[root@lnmp memcached]# systemctl reload php-fpm

打开 phpinfo 页面,已经已经看到 memcached 扩展成功安装了。

在php中,可以使用array_rand()函数随机从数组中取出几个值,该函数可以从数组中随机获取一个或多个元素,并返回获取的数组键值;语法格式“array_rand(array,num)”,参数num指明获取的数组元素数目。


本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

在php中,可以使用array_rand()函数随机从数组中取出几个值。

array_rand() 函数可以从数组中随机获取一个或多个元素,并返回获取的数组键值。该函数使用了伪随机数产生算法,所以不适合密码学场景,其语法格式如下:

array_rand(array,number)

参数 描述
array 必需。规定数组。
number 可选。规定返回多少个随机的元素。
提示:如果省略 number 参数,函数默认会返回一个随机的数组键名,如果获取的数量(number)超过了 array 的长度,就会导致 E_WARNING 错误,并返回 NULL。

如果只需要获取一个元素,array_rand() 函数会返回获取到的键名,否则就返回包含随机键名的数组。函数运行成功后,就可以根据随机获取到的数组键值来获取具体的值。

示例:使用 array_rand() 函数随机获取数组元素

$array = array(

‘name‘ => ‘php中文网‘,

‘url‘ => ‘http://www.php.cn‘,

‘title‘ => ‘PHP教程‘,

‘article‘ => ‘array_rand()函数‘

);

echo ‘
‘;

var_dump(array_rand($array));

var_dump(array_rand($array, 2));

var_dump(array_rand($array, 2));

var_dump(array_rand($array, 5));

?>

php随机取值_太原石家庄合肥

标签:fpm   高性能   new   并且   分布式   red   reload   ati   地址   

原文地址:https://www.cnblogs.com/c919dahuiji/p/14929756.html


评论


亲,登录后才可以留言!