プロジェクト開発において、複数のPHPプロセス間でデータを共有する機能を実現し、クライアント接続で状態を共有できるようにしたい場合は、共有メモリ機能shmopを有効にする必要があります。この必要性が予想される場合は、PHP をコンパイルするときに --with-shmop オプションを追加することをお勧めします。ただし、コンパイル中に追加されたものではないため、再コンパイル後にのみ設定できます。
#1. php ソース コード パッケージで拡張ディレクトリを見つけて、shmop
# cd /usr/local/src/php-7.1.10/ext/shmop/
2. 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
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 /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 拡張機能を有効にして共有メモリを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。