프로젝트 개발에서 클라이언트 연결이 상태를 공유할 수 있도록 여러 PHP 프로세스 간에 데이터를 공유하는 기능을 구현하려면 다음을 활성화해야 합니다. 공유 메모리 함수 shmop. 이러한 요구 사항이 발생할 것으로 예상되면 PHP를 컴파일할 때 --with-shmop 옵션을 추가하는 것이 가장 좋습니다. 그러나 컴파일 중에는 추가되지 않았으며 다시 컴파일한 후에만 구성할 수 있습니다.
1. PHP 소스 코드 패키지에서 확장 디렉터리를 찾아 shmop
# cd /usr/local/src/php-7.1.10/ext/shmop/
2를 실행하여 구성을 생성합니다
# 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를 다시 시작