給 PHP 開啟 shmop 擴充套件實現共用記憶體

2020-07-16 10:05:45
在專案開發中,想要實現PHP多個進程之間共用資料的功能,讓用戶端連線能夠共用一個狀態,需要開啟共用記憶體函數shmop。如果預期考慮會遇到這方面需求,那麼最好在編譯PHP的時候新增--with-shmop選項。但是編譯的時候沒有新增,只能在重新編譯設定了。

一、找到php原始碼包裡的擴充套件目錄,進入shmop

# cd /usr/local/src/php-7.1.10/ext/shmop/

二、執行phpize,生成設定

# phpize
[[email protected] 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

897efc0e88502cbf30b629c6a706fb7.png

以上就是給 PHP 開啟 shmop 擴充套件實現共用記憶體的詳細內容,更多請關注TW511.COM其它相關文章!