给PHP开启shmop扩展实现共享内存
Posted 路漫漫其修远兮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给PHP开启shmop扩展实现共享内存相关的知识,希望对你有一定的参考价值。
在项目开发中,想要实现php多个进程之间共享数据的功能,让客户端连接能够共享一个状态,需要开启共享内存函数shmop。如果预期考虑会遇到这方面需求,那么最好在编译PHP的时候添加--with-shmop选项。但是编译的时候没有添加,只能在重新编译配置了。
一、找到php源码包里的扩展目录,进入shmop
# cd /usr/local/src/php-7.1.10/ext/shmop/
二、执行phpize,生成配置
# phpize
[root@bogon shmop]# ls
acinclude.m4 build config.h.in config.nice configure CREDITS libtool Makefile.fragments missing package2.xml README shmop.la
aclocal.m4 config.guess config.log config.status configure.in include ltmain.sh Makefile.global mkinstalldirs package.xml run-tests.php shmop.lo
autom4te.cache config.h config.m4 config.sub config.w32 install-sh Makefile Makefile.objects modules php_shmop.h shmop.c tests
三、执行命令开始编译
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Build complete.
Don\'t forget to run \'make test\'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
四、修改php.ini开启扩展
复制返回的那行路径:/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
# vim /usr/local/php/etc/php.ini
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/shmop.so //添加此行代码,后面跟上shmop.so
重启php
以上是关于给PHP开启shmop扩展实现共享内存的主要内容,如果未能解决你的问题,请参考以下文章