1 php 사용자 및 사용자 그룹을 생성하고 GitHub에서 php7 소스 코드를 다운로드합니다
먼저 로그인 권한이 없는 php라는 사용자와 php라는 사용자 그룹을 생성한 후 GitHub로 이동하여 php7 소스 코드 패키지를 다운로드합니다.
#######php 사용자 및 php 그룹 생성
[root@typecodes ~]# groupadd -r php && useradd -r -g php -s /bin/false -d /usr/local/ php7 -M php
######GitHub에서 php7 설치 패키지 다운로드
[root@typecodes ~]# wget -c --no-check-certificate -O php7-src-master.zip https : //github.com/php/php-src/archive/master.zip
######php7 패키지 압축 풀기 시작
[root@typecodes ~]# unzip -q php7-src-master .zip && cd php-src-master
#####php7을 컴파일하는 데 필요한 종속성 패키지 설치
[root@typecodes php-src-master]# yum -y install libxml2 libxml2-devel openssl openssl- devel 컬 -devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel
2 PHP7 컴파일 매개변수 구성
준비가 완료되면 php7 설치 세부 사항의 정식 구성이 시작됩니다.참고로, 아래 백슬래시 "" 뒤에 추가된 주석 텍스트를 먼저 제거해야 합니다! ! !
######구성 파일 생성 시작
[root@typecodes php-src-master]# ./buildconf
buildconf: 설치 확인 중...
buildconf: autoconf 버전 2.69(ok )
aclocal.m4 재구축
구성 재구축
main/php_config.h.in 재구축
######구성 시작
[root@typecodes php-src-master]#. /configure
--prefix=/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 mysql-sock=/var/run/mysql/mysql.sock [PHP7 Unix 소켓 통신 파일]
--with-mcrypt=/usr/include
--with -mhash
--with- openssl . [PHP7은 mysql 라이브러리를 사용합니다.]
--with-gd
--with-iconv
--with-zlib
--enable- zip
--enable-inline-optimization
--disable-debug
--disable-rpath
--enable-shared
--enable-xml
--enable- bcmath
--활성화-shmop
--활성화-sysvsem
--활성화-mbregex
-- 활성화-mbstring
--활성화-ftp
--활성화-gd- Native-ttf
--enable-pcntl
--enable-sockets
--with-xmlrpc
--Nable-Soap
-배 없음
-FinText 사용
-ENable-Session [PHP 세션 세션 허용]
-With-Curl [CURL 확장 허용]
--with-jpeg-dir
--with-freetype-dir
--enable -opcache=사용자 없음 = nginx [php-fpm 사용자]
-with-fpm-found = nginx [PHP-FPM 사용자 그룹]
-Without-GDBM
-Disable-Fileinfo
직접 다음을 복사하고
을 실행합니다./configure --prefix=/usr/local/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 - 구성 파일 경로=/usr/local/php7/etc
--with-mysql-sock=/var/run/mysql/mysql.sock --with-mcrypt=/usr/include --with-mhash --with-openssl --with-mysqli=shared,mysqlnd --with -pdo-mysql=공유,mysqlnd --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 --with-curl
--with-jpeg-dir --with-freetype-dir --enable-opcache=no --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --without-gdbm - -disable-fileinfo
오류 메시지: 구성: 오류: mcrypt.h를 찾을 수 없습니다. libmcrypt를 다시 설치하세요
해결책: libmcrypt-2.5.8.tar.gz를 다운로드한 다음 컴파일하고 설치합니다
다운로드 주소: http : //sourceforge.net/projects/mcrypt/files/Libmcrypt/
libmcrypt를 다시 컴파일할 경우 설치 디렉터리를 기억한 후 php 항목 --with-mcrypt=libmcrypt 설치 디렉터리를 컴파일하세요
./configure --prefix=/usr/local/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/로컬/php7/etc
--with-mysql-sock=/var/run/mysql/mysql.sock --with-mcrypt=/usr/local/libmcrytp/ --with-mhash --with-openssl --with-mysqli=mysqlnd -- with-pdo-mysql=mysqlnd --with-gd --with-iconv --with-zlib --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 --with-curl --with-jpeg-dir
--with-freetype-dir --enable-opcache --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --without-gdbm --disable-fileinfo
遇到问题:이 시스템에서 구조체 무리를 정의하는 방법을 모르면 --enable-opcache=no
로 설정하십시오. 도구"입니다.
두 번째, 编辑 /etc/ld.so.conf 加入/usr/local/lib, 에서 执行ldconfig -v
提示:我재/usr/lib 看到libmysqlclient.so 所以재编辑/ etc/ld.so.conf의 时候, 需要看一下, 里地是否存에서 这个
3 开始编译과 安装PHP7
상대방은 译安装MySQL의 대용량 CPU와 内存消耗,PHP7의 编译安装轻松多了,整个过程大约1个小时左右.
현재 编译的时候,把--enable-opcache=no设为no,去掉了--enable-zip,所伖装完成之后,需要单独把这个작품 전시안装
[root@typecodes php-src-master]# make clean && make && make install
如果遇到错误可参考:http://blog.chinaunix.net/uid-20776139-id-5421615.html
4 选做步骤:执行make test命令进行测试
这是一个不必需的操步骤,执行make test命令。
有趣的一件事就是:intest期间,会화일个IP地址72.52 .91.14建立tcp连接,它对应着php官网http://www.php.net。
5 查看编译成功后的PHP7安装目录
由于需要和MySQL进行目信,所以需要特别查看PHP7安装后lib扩 확장 库目录 (/usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/). 🎜>6 开始设置PHP7적 配置文件php.ini、php-fpm.conf、www.conf와php-fpm脚本
可以用编译后적配置文件复제제到PHP7적配置目录(/usr/local/php7 /etc/), 推荐使사용 《PHP7中php.ini, php-fpm 와www.conf적配置》文中整理的3个PHP7配置文件와php-fpm服务控置脚本.
####### 방법: 直接使用编译后未经优化处理的配置
[root@typecodes php-src-master]# cp php.ini-production /usr/local/php7/etc/php.ini
[root @typecodes php-src-master]# cp /php-src-master/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@typecodes php-src-master ]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
[root@typecodes php-src-master]# cp /usr /local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
#######방법이:使용 https://typecodes.com/web/php7configure.html文中的配置
[root@typecodes php-src-master]# mv ~/php.ini /usr/local/php7/etc/php.ini && mv ~/php-fpm /etc/init.d/php-fpm
[root@typecodes php-src-master]# mv ~/php-fpm.conf /usr/local/php7/etc/php-fpm. conf && mv ~/www.conf /usr/local/php7/etc/php-fpm.d/www.conf
7개의 添加php적环境变weight
将php编译生成的bin目录添加到当前Linux系统的环境变weight中
[root@typecodes ~]# echo -e 'nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATHn' >> /etc/profile && 소스 /etc/profile
8 设置PHP日志目录和php-fpm进程文件(php-fpm.sock)目录
其中, 设置php-fpm进程目录的용용户和用户组为nginx ,并创建php会话session目录。
#######php-fpm의 PHP 로그 디렉터리와 실행 중인 프로세스 ID 파일(php-fpm.sock)의 디렉터리를 설정합니다.
[root@typecodes ~]# mkdir -p /var /log/php -fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpm
#######세션 디렉터리 수정 구성
[root@typecodes etc]# mkdir -p /var/lib/php/session
[root@typecodes etc]# chown -R nginx:nginx /var/lib/php
9 설정 PHP 시작 및 테스트 구성 파일이 정확합니까
[root@typecodes php-src-master]# chkconfig --add php-fpm
[root@typecodes php-src-master]# chkconfig php-fpm on
######테스트 PHP 구성 파일이 정확하고 합법적입니까?
[root@typecodes sbin]# php-fpm -t
[03-May-2015 17:50:04] 공지 : 구성 파일 /usr/local/php7/etc/ php-fpm.conf 테스트 성공
10 PHP 서비스 시작
위의 작업을 완료하면 공식적으로 PHP 서비스를 사용할 수 있습니다. PHP 프로세스 서비스를 시작하는 명령은 다음과 같습니다.
[root@typecodes sbin]# service php-fpm start
php-fpm 시작 완료
11 opcache 설치
튜토리얼: http:// blog.jjonline.cn/linux/135.html
튜토리얼: http://blog.ich8.com/post/4142
튜토리얼: http://my.oschina.net/u/919580/blog/ 406900 실습을 통해 이것이 입증되었습니다. 사용 가능
설치:
Linux
Zend Opcache 설치(pecl 버전):
eaccelerator, xcache, apc 제거:
yum 제거 php-eaccelerator php-xcache php-apcu
사용하지 않으니 건너뛰세요.
시스템 업그레이드:
yum update
Zend Opcache(pecl 버전) 설치
yum install php-pecl-zendopcache PS: 하지만 php-pecl-zendopcache 확장은 여전히 centos7에서 찾을 수 없으므로 다음 작업을 계속할 수 없습니다.
설치 중에 생성된 opcache 구성 파일은 기본 /etc/php.d 디렉터리에 있습니다:
opcache-default.blacklist
opcache.ini
이 구성 파일은 다음을 사용합니다. 기본 README의 권장 설정이며 몇 군데만 수정하면 됩니다.
vi /etc/php.d/opcache.ini
다음 권장 구성에 따라 수정하고 저장하세요:
opcache.memory_c>opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
적용하기 위해 php.ini 구성을 수정할 필요는 없습니다.
service httpd restart
쿼리가 올바르게 시작되었는지 확인하세요.
php -v
출력 결과는 다음과 유사합니다.
PHP 7(cli)(빌드: Apr 11 2013 11:04:35)
저작권 (c) 1997 -2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
Zend OPcache v7.0.1 포함, Copyright (c) 1999-2013, by 젠드 테크놀로지스
위 내용은 관련 측면을 포함하여 CentOS 71에서 PHP7을 컴파일하고 설치하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.