>백엔드 개발 >PHP7 >php7을 설치하고 memcache 확장을 설치하는 방법. 이전 PHP 버전과 새 PHP 버전 간에 호환성 문제가 있는 경우 어떻게 해야 합니까?

php7을 설치하고 memcache 확장을 설치하는 방법. 이전 PHP 버전과 새 PHP 버전 간에 호환성 문제가 있는 경우 어떻게 해야 합니까?

醉折花枝作酒筹
醉折花枝作酒筹앞으로
2021-07-20 09:18:002549검색

php7을 설치할지 모르겠고, memcache 확장 프로그램을 설치할 때 새 버전과 기존 PHP 버전의 호환성 문제를 다룰지 모르겠습니다. 오늘은 이를 이해하도록 안내해 드리겠습니다. 필요하다면 참고하세요.

php7을 설치하고 memcache 확장을 설치하는 방법. 이전 PHP 버전과 새 PHP 버전 간에 호환성 문제가 있는 경우 어떻게 해야 합니까?

http://php.net/downloads.php

php-7.0.0 설치

먼저 종속 프로그램을 설치하세요. 이미 설치했다면 건너뛰세요

yum install -y php-mcrypt libmcrypt libmcrypt-devel
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel
#openssl-devel是64位 如果是32位服务器请选择i386版的
yum install openssl-devel.x86_64
yum install curl curl-devel
yum -y install libxslt-devel
yum install -y php-mcrypt libmcrypt libmcrypt-devel mcrypt mhash
./configure --prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-config-file-scan-dir=/usr/local/php7/etc/php.d \
--with-mcrypt \
--enable-mysqlnd \
--with-mysqli \
--with-pdo-mysql \
--enable-fpm \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache

make &&  make install

可选
--with-fpm-user=www \
--with-fpm-group=www \

구성 메시지가 나타나면 오류 : mcrypt.h를 찾을 수 없습니다.

centos6의 기본 yum 소스이기 때문입니다. C++ 컴파일러 기본 출력 파일 이름입니다... 구성: 오류: C++ 컴파일러는

wget http://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
./configure
make && make install

`libiconv에 대한 정의되지 않은 참조를 생성할 수 없습니다. ', libiconv를 먼저 설치해야 합니다

yum list | grep c++
yum install gcc-c++.x86_64

계속 오류가 발생하면 vim Makefile을

찾아 EXTRA_LIBS =

마지막에 -liconv를 추가

하거나 ZEND_EXTRA_LIBS='-liconv'

직접 make ZEND_EXTRA_LIBS='-liconv'

이전 버전의 php를 사용하려면 Apache의 LoadModule php5_module 파일을 다시 컴파일해야 합니다

--with-iconv=/usr/local/libiconv

이제 php7 설치가 완료되었습니다

./configure --with-apxs2=/usr/local/sbin/apxs

php-fpm 서비스 활성화

mv /usr/local/src/php-7.1.0/php.ini-production /usr/local/php7/etc/php.ini

php-의 사용자 및 그룹 변경에 주의하세요. fpm.conf, 그렇지 않으면 권한 문제로 인해 파일을 찾을 수 없다고 보고될 수 있습니다.

cd /usr/local/php7/etc
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

Run php-fpm

user = nobody
group = nobody

이 명령을 사용하려면 service php-fpm start | stop|restart

/usr/local/php7/sbin/php-fpm -c /usr/local/php7/etc/php.ini -y /usr/local/php7/etc/php-fpm.conf

service php를 사용할 수 있습니다. -fpm php-fpm을 활성화하기 시작합니다. ps -ef | grep php-fpm을 사용하여 프로세스를 확인하세요.

그런데 memcache 확장 프로그램을 설치하면

http://pecl.php.net/package/memcache

memcache-2.2.7 안정 버전을 설치하세요. 2012

cd /usr/local/src/php-7.1.0/sapi/fpm
ls
cp init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on

이때 치명적인 오류가 보고됩니다/root /memcache- 2.2.7/memcache.c:40:40: 치명적인 오류: ext/standard/php_smart_str.h: 해당 파일이나 디렉터리가 없습니다

php_smart_str.h 파일이 존재하지 않습니다

Baidu 검색 php_smart_string.h는 문자열입니다. 전처리 역학 메모리 공간을 적용하는 것은 운영 체제에서 페이지 단위로 메모리를 할당하는 것과 유사하며 메모리 주소를 정렬하고 액세스 속도를 향상시키는 장점이 있습니다.

php7에서 이 파일을 php_smart_string.h로 변경한 것을 발견했습니다. 두 파일을 비교해 보면 변경 사항이 상당히 큽니다

공식 PHP 개발팀의 호환성이 제대로 개선되지 않았는지 모르겠습니다.

추천 학습:

php 비디오 튜토리얼

위 내용은 php7을 설치하고 memcache 확장을 설치하는 방법. 이전 PHP 버전과 새 PHP 버전 간에 호환성 문제가 있는 경우 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제