yum php7.1에 확장을 추가하는 방법: 1. yum을 통해 php7.1을 설치합니다. 2. "yum -y install php-mysql php-gd php-ldap php-odbc..."를 통해 일반 PHP 확장을 추가합니다. 명령.
이 기사의 운영 환경: centos7 시스템, PHP7.1 버전, DELL G3 컴퓨터
yum php7.1에 확장 기능을 추가하는 방법은 무엇입니까?
php7.1 배포 방법에 대한 자습서 및 CentOS 7에서 MySQL 확장 기능 활성화
Foreword
이전에 CentOS7에 php7.1을 설치했을 때 PHP 소스와 PHP7.1이 MySQL 확장 기능을 지원하지 않는다는 문제가 발생하여 설치하는데 시간이 걸렸습니다. 아침에 마침내 이 두 가지 문제를 해결했습니다. 이에 메모를 기록합니다.
간단한 설치(yum 방식)
소프트웨어 소스 설치
epel 소스 추가
[root@opstrip.com opt]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY* [root@opstrip.com opt]# rpm -Uvh http://mirrors.rit.edu/fedora/epel//7/x86_64/e/epel-release-7-9.noarch.rpm
remi 소스 추가
[root@opstrip.com opt]# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
소프트웨어 설치 및 업데이트
yum-config-manager 유틸리티 설치
[root@opstrip.com opt]# yum -y install yum-utils
현재 소프트웨어 버전 업데이트 system
[root@opstrip.com opt]# yum -y update
업데이트가 완료되면 필요한 PHP 버전을 설치할 수 있습니다.
PHP 설치
위의 준비가 완료되면 필요한 PHP 버전을 설치할 수 있습니다.
PHP5.4의 경우
[root@opstrip.com opt]# yum -y install php
설치 전에 yum search php54를 사용하여 설치 가능한 소프트웨어 패키지를 검색할 수 있습니다.
PHP7.0의 경우
[root@opstrip.com opt]# yum-config-manager --enable remi-php70 [root@opstrip.com opt]# yum -y install php php-opcache
설치 전에 yum search php70을 사용하여 설치 가능한 소프트웨어 패키지를 검색할 수 있습니다.
PHP7.1의 경우
[root@opstrip.com opt]# yum-config-manager --enable remi-php71 [root@opstrip.com opt]# yum -y install php php-opcache
설치 전에 yum search php71을 사용하여 설치 가능한 소프트웨어 패키지를 검색할 수 있습니다.
완료 후에는 일반 PHP 확장을 추가해야 합니다.
[root@opstrip.com opt]# yum -y install php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel
Nginx의 경우
[root@opstrip.com opt]# yum -y install nginx nginx-mod-http-perl nginx-mod-stream nginx-filesystem nginx-mod-mail nginx-mod-http-image-filter nginx-all-modules nginx-mod-http-geoip nginx-mod-http-xslt-filter
설치 전에 설치 가능한 소프트웨어 패키지를 검색하려면 yum search nginx를 사용하는 것이 좋습니다.
설치가 완료된 후 PHP와 Nginx를 구성하고 시작하면 phpinfo 페이지가 정상적으로 표시됩니다.
소스코드 컴파일 및 설치
설치 전 준비
PHP 설치 패키지 다운로드
[root@opstrip.com opt]# wget -O php-7.1.5.tar.gz http://cn2.php.net/distributions/php-7.1.5.tar.gz
Unzip
[root@opstrip.com opt]# tar xf php-7.1.5.tar.gz
종속성 패키지 설치
[root@opstrip.com php-7.1.5]# yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
구성 및 설치
컴파일 구성
[root@opstrip.com opt]# cd php-7.1.5 [root@opstrip.com php-7.1.5]# ./configure \ --prefix=/usr/local/php \ --with-config-file-path=/etc \ --enable-fpm \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-soap \ --with-libxml-dir \ --with-xmlrpc \ --with-openssl \ --with-mcrypt \ --with-mhash \ --with-pcre-regex \ --with-sqlite3 \ --with-zlib \ --enable-bcmath \ --with-iconv \ --with-bz2 \ --enable-calendar \ --with-curl \ --with-cdb \ --enable-dom \ --enable-exif \ --enable-fileinfo \ --enable-filter \ --with-pcre-dir \ --enable-ftp \ --with-gd \ --with-openssl-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib-dir \ --with-freetype-dir \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --with-gettext \ --with-gmp \ --with-mhash \ --enable-json \ --enable-mbstring \ --enable-mbregex \ --enable-mbregex-backtrack \ --with-libmbfl \ --with-onig \ --enable-pdo \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-zlib-dir \ --with-pdo-sqlite \ --with-readline \ --enable-session \ --enable-shmop \ --enable-simplexml \ --enable-sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --with-libxml-dir \ --with-xsl \ --enable-zip \ --enable-mysqlnd-compression-support \ --with-pear \ --enable-opcache
자세한 내용은 PHP를 참조하세요. 공식 설치 지침: http: //php.net/manual/zh/install.unix.nginx.php
컴파일 및 설치
[root@opstrip.com php-7.1.5]# make && make install
환경 변수 구성:
Append 내보내기 PATH=$PATH:/usr/local/php / /etc/profile bin 끝에서 /etc/profile 소스를 실행하여 적용된 후 PHP 버전을 확인합니다.
[root@opstrip.com php-7.1.5]# php -v PHP 7.1.5 (cli) (built: May 31 2017 16:12:38) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
설치 후 구성
php-fpm 구성
설치가 완료된 후 sapi/fpm/php-fpm.server 를 통해 php-fpm을 시작할 수 있습니다. 그러나 향후 관리의 편의를 위해 일반적으로 구성 파일을 /etc 디렉터리에 배치하고 php-fpm.server를 systemctl 서비스에 추가하는 것이 필요합니다.
[root@opstrip.com php-7.1.5]# mkdir -p /etc/php-fpm.d [root@opstrip.com php-7.1.5]# cp php.ini-production /etc/php.ini [root@opstrip.com php-7.1.5]# cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/ [root@opstrip.com php-7.1.5]# cp sapi/fpm/www.conf /etc/php-fpm.d/
그런 다음 /usr/lib/systemd/system/php-fpm.service 파일을 다음과 같이 올바른 경로를 실행하도록 변경합니다.
[root@opstrip.com php-7.1.5]# vi /usr/lib/systemd/system/php-fpm.service # It's not recommended to modify this file in-place, because it # will be overwritten during upgrades. If you want to customize, # the best way is to use the "systemctl edit" command. [Unit] Description=The PHP FastCGI Process Manager After=network.target [Service] Type=simple PIDFile=/var/run/php-fpm.pid ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /etc/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
Start php-fpm
systemctl을 통해 PHP 서비스를 시작할 때 필요합니다. 처음으로 php-fpm 서비스를 활성화하세요:
[root@opstrip.com php-7.1.5]# systemctl enable php-fpm.service [root@opstrip.com php-7.1.5]# systemctl start php-fpm.service
Nginx 컴파일 및 설치
자세한 내용은 이 문서를 참조하고 필요에 따라 Nginx를 구성하고 시작하세요. 여기에는 쓰지 않겠습니다.
MySQL 확장 활성화(컴파일 및 설치만)
PHP7에서 MySQL 확장 지원(mysqli 및 mysqlnd로 대체)이 완전히 제거되었으므로 일부 이전 소프트웨어에서는 PHP 버전을 업그레이드한 후 정의되지 않은 mysql_connect() 함수와 유사한 메시지를 보고합니다. . 오류가 발생하면 일반적으로 새로운 PHPmysqli 또는 pdo 확장을 사용하여 교체하는 것이 좋습니다. 물론, MySQL 확장을 지원하는 PHP7 코드의 레거시 버전을 확인하고 직접 컴파일하고 설치할 수도 있습니다. 그러나 MySQL 확장에는 후속 업데이트가 전혀 없다는 점에 유의해야 합니다.
설치 전 준비
현재 확장 보기
현재 PHP7.1 내장 확장 보기:
[root@opstrip.com php-7.1.5]# ls ext bcmath dom gd json oci8 pdo_firebird posix skeleton sysvsem xmlwriter bz2 enchant gettext ldap odbc pdo_mysql pspell snmp sysvshm xsl calendar exif gmp libxml opcache pdo_oci readline soap tidy zip com_dotnet ext_skel hash mbstring openssl pdo_odbc recode sockets tokenizer zlib ctype ext_skel_win32.php iconv mcrypt pcntl pdo_pgsql reflection spl wddx curl fileinfo imap mysql pcre pdo_sqlite session sqlite3 xml date filter interbase mysqli pdo pgsql shmop standard xmlreader dba ftp intl mysqlnd pdo_dblib phar simplexml sysvmsg xmlrpc
MySQL 확장이 실제로 제거된 것을 볼 수 있습니다. 이전 PHP MySQL 확장을 직접 확인할 수 있습니다. ext 디렉토리 코드.
PHP MySQL 확장 소스 코드 받기
[root@opstrip.com ext]# git clone https://github.com/php/pecl-database-mysql mysql --recursive Cloning into 'mysql'... remote: Counting objects: 145, done. remote: Total 145 (delta 0), reused 0 (delta 0), pack-reused 145 Receiving objects: 100% (145/145), 88.41 KiB | 0 bytes/s, done. Resolving deltas: 100% (65/65), done. Checking connectivity... done.
MySQL 확장 컴파일 및 설치
phpize를 사용하여 컴파일
[root@opstrip.com ext]# cd mysql [root@opstrip.com mysql]# ls config.m4 config.w32 CREDITS LICENSE mysql.mak mysql_mysqlnd.h package.xml php_mysql.c php_mysql.h php_mysql_structs.h README.md tests [root@opstrip.com mysql]# /usr/local/php/bin/phpize Configuring for: PHP Api Version: 20151012 Zend Module Api No: 20151012 Zend Extension Api No: 320151012 [root@opstrip.com mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config
설치
[root@opstrip.com mysql]# make && make install [root@opstrip.com mysql]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/ mysql.so opcache.a opcache.so
설치가 완료된 후 MySQL 확장이 올바르게 설치되었는지 확인해야 합니다.
마지막으로 php.ini 구성 파일을 수정하고 다음 줄을 추가합니다.
extension = "mysql.so"
php-fpm 서비스를 다시 시작하면 phpinfo에 MySQL 확장이 표시됩니다.
–이 구성이 완료되었습니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 yum php7.1에 확장을 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!