In project development, if you want to realize the function of sharing data between multiple PHP processes and allow client connections to share a state, you need to enable the shared memory function shmop. If you anticipate encountering this need, it is best to add the --with-shmop option when compiling PHP. However, it was not added during compilation and can only be configured after recompiling.
1. Find the extension directory in the php source code package and enter shmop
# cd /usr/local/src/php-7.1.10/ext/shmop/
2. Execute phpize to generate the configuration
# 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
3. Execute the command to start compilation
# ./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. Modify php.ini to open the extension
Copy the returned line path:/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
Restart php
The above is the detailed content of Enable shmop extension for PHP to implement shared memory. For more information, please follow other related articles on the PHP Chinese website!