CentOS7에서 PHP7을 컴파일하고 설치하기 위한 샘플 코드에 대한 자세한 소개(그림)
php 사용자 및 사용자 그룹 생성
먼저 로그인 권한이 없는 php라는 사용자와 php라는 사용자 그룹을 생성합니다
#######新建php用户和php组[root@localhost ~] # groupadd -r php && useradd -r -g php -s /bin/false -d /usr/local/php7 -M php
php 7 설치에 필요한 종속성 컴파일
libmcrypt, mhash, mcrypt 바이너리 소스 패키지 컴파일 및 설치
여기서 libmcrypt를 컴파일하고 설치하는 이유는 yum 설치 시 오류를 보고하는 것 같습니다
######编译安装libmcrypt-2.5.7 [root@localhost ~]# tar zxvf libmcrypt-2.5.7.tar.gz [root@localhost ~]# cd libmcrypt-2.5.7 [root@localhost libmcrypt-2.5.7]# ./configure --prefix=/usr/local/related/libmcrypt [root@localhost libmcrypt-2.5.7]# make && make install [root@localhost libmcrypt-2.5.7]# cd ~ [root@localhost ~]# rm -rf libmcrypt-2.5.7*
######编译安装mhash-0.9.9.9 [root@localhost ~]# tar zxf mhash-0.9.9.9.tar.gz [root@localhost ~]# cd mhash-0.9.9.9 [root@localhost mhash-0.9.9.9]# ./configure --prefix=/usr/local/related/mhash [root@localhost mhash-0.9.9.9]# make && make install [root@localhost mhash-0.9.9.9]# cd ~ [root@localhost ~]# rm -rf mhash-0.9.9.9*
######编译安装mcrypt-2.6.8 [root@localhost ~]# tar zxf mcrypt-2.6.8.tar.gz && cd mcrypt-2.6.8 [root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/related/libmcrypt/lib:/usr/local/related/mhash/lib [root@localhost mcrypt-2.6.8]# export LDFLAGS="-L/usr/local/related/mhash/lib -I/usr/local/related/mhash/include/" [root@localhost mcrypt-2.6.8]# export CFLAGS="-I/usr/local/related/mhash/include/" [root@localhost mcrypt-2.6.8]# ./configure --prefix=/usr/local/related/mcrypt --with-libmcrypt-prefix=/usr/local/related/libmcrypt [root@localhost mcrypt-2.6.8]# make && make install [root@localhost mcrypt-2.6.8]# cd ~ [root@localhost ~]# rm -rf mcrypt-2.6.8*
######其他依赖yum安装[root@localhost ~] # yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel
PHP 7 컴파일 매개변수 구성
참고로, 작동하기 전에 아래 백슬래시 "" 뒤에 추가된 설명 텍스트를 반드시 제거하세요! ! !
######生成配置文件 [root@localhost ~]# tar -zxf php-7.0.0.tar.gz && cd php-7.0.0 [root@localhost php-7.0.0]# ./buildconf --force Forcing buildconf Removing configure caches buildconf: checking installation... buildconf: autoconf version 2.69 (ok) rebuilding configure rebuilding main/php_config.h.in ######开始配置 [root@localhost php-7.0.0]# ./configure \ --prefix=/usr/local/php7 \ [PHP7安装的根目录] --exec-prefix=/usr/local/php7 \ --bindir=/usr/local/php7/bin \ --sbindir=/usr/local/php7/sbin \ --includedir=/usr/local/php7/include \ --libdir=/usr/local/php7/lib/php \ --mandir=/usr/local/php7/php/man \ --with-config-file-path=/usr/local/php7/etc \ [PHP7的配置目录] --with-mysql-sock=/var/run/mysql/mysql.sock \ [PHP7的Unix socket通信文件] --with-mcrypt=/usr/include \ --with-mhash \ --with-openssl \ --with-mysql=shared,mysqlnd \ [PHP7依赖mysql库] --with-mysqli=shared,mysqlnd \ [PHP7依赖mysql库] --with-pdo-mysql=shared,mysqlnd \ [PHP7依赖mysql库] --with-gd \ --with-iconv \ --with-zlib \ --enable-zip \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-xml \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-mbregex \ --enable-mbstring \ --enable-ftp \ --enable-gd-native-ttf \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-soap \ --without-pear \ --with-gettext \ --enable-session \ [允许php会话session] --with-curl \ [允许curl扩展] --with-jpeg-dir \ --with-freetype-dir \ --enable-opcache \ [使用opcache缓存] --enable-fpm \ --enable-fastcgi \ --with-fpm-user=nginx \ [php-fpm的用户] --with-fpm-group=nginx \ [php-fpm的用户组] --without-gdbm \ --with-mcrypt=/usr/local/related/libmcrypt \ [指定libmcrypt位置] --disable-fileinfo
위 구성 명령을 실행한 결과는 다음과 같습니다.
PHP 7 컴파일 및 설치 시작
[root@localhost php-7.0.0]# make clean && make && make install
PHP 7은 성공적으로 컴파일 및 설치됨
선택 단계: make test 명령을 실행하여 테스트
이것은 선택 단계입니다. make test 명령을 실행하세요
컴파일 성공 후 PHP7 설치 디렉터리 확인
MySQL과 통신해야 하기 때문에 PHP7 설치 후 lib 확장 라이브러리 디렉터리를 구체적으로 확인해야 합니다(/usr/local/ php7/lib/php/확장/no-debug-non-zts-20151012/). 아래 그림과 같이 최소한 두 개의 동적 라이브러리 파일 mysqli.so 및 pdo_mysql.so가 존재하는지 확인해야 합니다.
[root@localhost php-7.0.0]# ls -lrt /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/
PHP7 구성 파일 설정 시작 php.ini, php-fpm.conf, www.conf 및 php-fpm 스크립트
를 컴파일할 수 있습니다. 구성 파일을 PHP7 구성 디렉터리(/usr/local/php7/etc/)에 복사합니다. github의 구성을 사용하는 것이 좋습니다. 이 구성은 "PHP7의 php.ini, php-fpm 및 www.conf 구성"
#######方法一:直接使用编译后未经优化处理的配置 [root@localhost php-7.0.0]# cp php.ini-production /usr/local/php7/etc/php.ini [root@localhost php-7.0.0]# cp /root/php-7.0.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm [root@localhost php-7.0.0]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf [root@localhost php-7.0.0]# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf #######方法二:使用https://github.com/lizer2014/mylnmp/tree/master/PHP文中的配置 [root@localhost php-7.0.0]# mv ~/php.ini /usr/local/php7/etc/php.ini && mv ~/php-fpm /etc/init.d/php-fpm [root@localhost php-7.0.0]# mv ~/php-fpm.conf /usr/local/php7/etc/php-fpm.conf && mv ~/www.conf /usr/local/php7/etc/php-fpm.d/www.conf
에서 가져온 것입니다. 참고: php.ini 구성에서 매개변수를 수정하고 Extension_dir을 다음으로 변경해야 합니다. 자신만의
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
/etc/init.d/php-fpm에는 시작 기능의 데몬 프로세스 이전에 make /var/run/php-fpm 명령이 있어야 합니다. 그렇지 않으면 다시 시작합니다. nginx 구성에도 이 문제가 있습니다.
php 환경 변수 추가
[root@localhost php-7.0.0]# echo -e '\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n' >> /etc/profile && source /etc/profile
PHP 로그 디렉터리와 php-fpm 프로세스 파일(php-fpm.sock) 디렉터리를 설정하세요.
그 중 php 설정 - fpm 프로세스 디렉토리의 사용자 및 사용자 그룹은 nginx이고, php 세션 디렉토리를 생성합니다
#######设置PHP日志目录和php-fpm的运行进程ID文件(php-fpm.sock)目录 [root@localhost php-7.0.0] # groupadd -r nginx && useradd -r -g nginx -s /bin/false -M nginx [root@localhost php-7.0.0] # mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpm #######修改session的目录配置 [root@localhost run]# mkdir -p /var/lib/php/session [root@localhost run] # chown -R nginx:nginx /var/lib/php
PHP 시작을 설정하고 구성 파일이 올바른지 테스트합니다.
######配置开机自启动,增加到主机sysV服务 [root@localhost run]# chmod +x /etc/init.d/php-fpm [root@localhost run]# chkconfig --add php-fpm [root@localhost run]# chkconfig php-fpm on ######测试PHP的配置文件是否正确合法 [root@localhost run]# php-fpm -t [05-Dec-2015 17:33:03] NOTICE: configuration file /usr/local/php7/etc/php-fpm.conf test is successful
php 서비스 시작
위의 작업을 모두 마치면 공식적으로 php 서비스를 사용할 수 있습니다. php 프로세스 서비스를 시작하는 명령은 다음과 같습니다.
[root@localhost init.d]# service php-fpm startStarting php-fpm done
그런 다음 ps -aux|grep php 명령(php-fpm 프로세스 수와 프로세스 사용자 nginx)을 통해 성공 여부를 확인할 수 있습니다. 그림은 둘 다 www.conf의 pm에 의해 결정됩니다. start_servers와 user의 값은 각각 결정됩니다.
PHP7 버전 정보 보기
마지막으로 php -v 명령을 통해 현재 PHP 버전 정보를 볼 수 있습니다. 그림 php.ini 파일에 zend_extension=opcache.so 구성이 추가되었기 때문에 현재 PHP7도 Zend OPcache 캐시를 사용하고 있음을 알 수 있습니다.
관련 기사:
Linux에서 PHP 환경을 설치하고 php-fpm 모듈을 지원하도록 Nginx를 구성하는 방법에 대한 자세한 소개(그림 및 텍스트)
위 내용은 CentOS7에서 PHP7을 컴파일하고 설치하기 위한 샘플 코드에 대한 자세한 소개(그림)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











CentOS-7.0-1406을 로드할 때 옵션 버전이 많이 있습니다. 일반 사용자의 경우 어떤 버전을 선택해야 할지 모릅니다. 다음은 간략한 소개입니다. (1) CentOS-xxxx-LiveCD.ios 및 CentOS-xxxx- What bin-DVD.iso의 차이점은 무엇입니까? 전자는 700M만 있고 후자는 3.8G를 갖고 있다. 차이점은 크기뿐 아니라 더 본질적인 차이점은 CentOS-xxxx-LiveCD.ios는 메모리에 로드 및 실행만 가능하고, 설치할 수 없다는 점입니다. CentOS-xxx-bin-DVD1.iso만 하드 디스크에 설치할 수 있습니다. (2) CentOS-xxx-bin-DVD1.iso, Ce

centos7 페이지를 열고 나타납니다. 비상 모드에 오신 것을 환영합니다! 로그인 후 시스템 로그를 보려면 "journalctl -xb"를 입력하고, 재부팅하려면 "systemctlreboot"를 입력하고, 기본 모드로 다시 부팅하려면 "systemctldefault"를 입력하세요. giverootpasswordformmaintenance(??Control-D???): 해결 방법: r을 실행합니다.

centos7 시스템의 tmp 디렉토리에 쓰레기가 많이 있습니다. 쓰레기를 지우려면 어떻게 해야 합니까? 아래의 자세한 튜토리얼을 살펴보겠습니다. tmp 파일 디렉터리의 파일 목록을 보려면 cdtmp/ 명령을 실행하여 tmp의 현재 파일 디렉터리로 전환하고, ll 명령을 실행하여 현재 디렉터리의 파일 목록을 확인합니다. 아래 그림과 같이. 파일을 삭제하려면 rm 명령을 사용하십시오. rm 명령은 시스템에서 파일을 영구적으로 삭제하므로 rm 명령을 사용할 때는 파일을 삭제하기 전에 프롬프트를 표시하는 것이 가장 좋습니다. rm-i 파일 이름 명령을 사용하고 사용자가 삭제를 확인(y)하거나 삭제를 건너뛰기(n)할 때까지 기다리면 시스템이 해당 작업을 수행합니다. 아래 그림과 같이.

보안상의 이유로 비밀번호 규칙을 설정하십시오. 비밀번호가 만료되는 일수를 설정하십시오. 사용자는 며칠 이내에 비밀번호를 변경해야 합니다. 이 설정은 기존 사용자가 아닌 생성된 사용자에게만 영향을 미칩니다. 기존 사용자로 설정하는 경우 "chage -M(일)(사용자)" 명령을 실행합니다. PASS_MAX_DAYS60#비밀번호 만료 시간 PASS_MIN_DAYS3#초기 비밀번호 변경 시간 PASS_MIN_LEN8#최소 비밀번호 길이 PASS_WARN_AGE7#비밀번호 만료 프롬프트 시간 반복 비밀번호 제한 사용 [root@linuxprobe~]#vi/etc/pam.d/system-auth#nearline15:

1.UncaughtError:Calltoundefinitivefunctionmb_strlen(); 위의 오류가 발생하면 mbstring 확장이 설치되지 않았음을 의미합니다. 2. PHP 설치 디렉터리 cd/temp001/php-7.1.0/ext/mbstring을 입력합니다. 3. phpize( /usr/local/bin /phpize 또는 /usr/local/php7-abel001/bin/phpize) PHP 확장 4를 설치하는 명령../configure--with-php-config=/usr/local/php7-abel

1. 압축 폴더는 zip 파일 [root@cgls]#zip-rmydata.zipmydata2입니다. mydatabak 디렉터리 [root@cgls]#unzipmydata.zip-dmydatabak3.mydata01 폴더에 mydata.zip의 압축을 풀면 mydata02.txt가 압축됩니다. mydata.zip[root@cgls]#zipmydata.zipmydata01mydata02.txt4. mydata.zip 파일을 직접 압축 해제합니다. [root@cgls]#unzipmydata.zip5.

기본 단축키가 사용 중인 소프트웨어의 키와 충돌하거나 자신의 습관에 따라 단축키를 사용해야 하는 경우 CentOS7의 기본 단축키를 수정하고 설정해야 합니다. 아래의 자세한 튜토리얼을 살펴보겠습니다. 1. 가상 머신에서 Centos7 시스템을 시작하고 데스크탑으로 들어갑니다. 2. 왼쪽 상단에서 응용 프로그램->시스템 도구->설정을 클릭합니다. 3. 설정 인터페이스로 들어가서 장치를 클릭합니다. 4. 키보드를 선택하고 아무거나 클릭합니다. 그리고 키보드에서 설정하고 싶은 단축키를 눌러 단축키를 변경하세요. (일부는 변경이 불가능하니 참고하세요!) 5. 변경 후 아래와 같이 마지막으로 설정을 클릭하시면 단축키가 변경됩니다. 설정 수정이 완료되었습니다.

PHP 7.0에서 설치된 플러그인이 표시되지 않는 문제를 해결하려면: 플러그인 구성을 확인하고 플러그인을 활성화하세요. 구성 변경 사항을 적용하려면 PHP를 다시 시작하세요. 플러그인 파일 권한이 올바른지 확인하세요. 플러그인이 올바르게 작동하도록 하려면 누락된 종속성을 설치하세요. 다른 모든 단계가 실패하면 PHP를 다시 빌드하세요. 다른 가능한 원인으로는 호환되지 않는 플러그인 버전, 잘못된 버전 로드 또는 PHP 구성 문제 등이 있습니다.
