Рубрики
Uncategorized

Откройте расширение shmop для PHP, чтобы реализовать общую память

Автор оригинала: David Wong.

При разработке проекта, чтобы реализовать функцию обмена данными между несколькими процессами PHP и разрешить клиентским соединениям совместно использовать состояние, необходимо открыть функцию общей памяти shmop. Если вы ожидаете столкнуться с этим требованием, лучше всего добавить опцию — с-shmop при компиляции PHP. Но при компиляции он не добавляется и может быть только перекомпилирован и настроен.

1. Найдите расширенный каталог в исходном пакете PHP и войдите в магазин

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

2. Выполните 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

3. Начните компиляцию, выполнив команды

# ./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/

4. Измените php.ini для открытия расширений

Путь, возвращаемый репликацией:/usr/локальный/php/lib/php/расширения/без отладки-не-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//Add this line of code, followed by shmop.so.

Перезапустить PHP