CentOS 에서 PHP 7 의 컴 파일 설치 및 MySQL 지원 및 일반적인 문제 해결 방법
1、./buildconf --force
2、./configure
3、make && make install
1,3 단 계 는 관리 할 만 한 것 이 없습니다.configure 는 컴 파일 의 관건 입 니 다.PHP 가 일부 라 이브 러 리 에 대한 지원 과 관련 되 어 있 습 니 다.여기 서 저 희 는 MySQL 을 포함 하여 최소 의 지원 을 사용 합 니 다.
curl
gd
fpm
mysqlnd
curl 과 gd 를 가지 고 있 는 이 유 는 이 세 개의 라 이브 러 리 가 PHP 를 컴 파일 하기 전에 설치 해 야 한 다 는 것 을 알 기 위해 서 입 니 다.yum 을 기본 위치 에 설치 할 수도 있 고 지정 한 위치 에 컴 파일 할 수도 있 습 니 다.yum 을 설치 한 후에 컴 파일 할 때 라 이브 러 리 의 설치 위 치 를 지정 하지 않 아 도 됩 니 다.이 라 이브 러 리 를 설치 하 는 것 과 관련 하여 많은 것 을 검색 할 수 있 습 니 다.기본 적 인 configure 를 살 펴 보 겠 습 니 다.
./configure --prefix=/apps/php/php7.0 --enable-mbstring --with-curl --with-gd --with-config-file-path=/apps/php/php7.0/etc/ --
enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlnd
PHP-FPM
fpm 에 대해 서 는 말 할 필요 도 없 이 그것 으로 PHP 를 지원 하 는 것 이 좋 은 선택 이 라 고 믿 습 니 다.PHP 5.3.3 부터 phop-fpm 가 내장 되 어 있 기 때문에 PHP 7 에 도 당연히 있 습 니 다.-enable-fpm 만 있 으 면 됩 니 다.
php-fpm 매개 변수:
--start 시작
--stop 강제 종료
--quit 평활 종료
--restart 재 부팅
--reload php 를 다시 부 드 럽 게 불 러 오 는 php.ini
--logrotate 로그 파일 다시 사용
MySQL 지원
이 점 에 중점 을 두 고 말씀 드 리 겠 습 니 다.그 위 에 시간 이 좀 걸 렸 기 때문에 어느 버 전부터 PHP 는 my sql 라 이브 러 리 를 사용 하여 my sql 연결 을 지원 하지 않 고 my sqlnd 를 사용 하여 지원 합 니 다.libmy sql 보다 훨씬 빠르다 고 들 었 습 니 다.PHP 5.x 는 libmy sql 도 사용 할 수 있 습 니 다.PHP 7 은 지원 이 취 소 된 것 같 습 니 다.컴 파일 도 없습니다.-with-my sql 인자.--with-mysql 과--with-pdo-mysql 만 지원 합 니 다.configure 의 인 자 를 보면 알 수 있 습 니 다.
./configure -help | grep mysql
이 를 통 해 알 수 있 듯 이 PHP 는 my sqlnd 를 사용 하여 MySQL 을 지원 하 기 를 원 하기 때문에 매개 변 수 는 이렇게 쓸 수 있 습 니 다.
--enable-mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
my sqlnd 는 my sql 지원 이 필요 없 기 때문에 my sql 을 먼저 설치 하지 않 아 도 됩 니 다.my sql 은 phop 이 my sql 을 지원 할 수 있 음 을 나타 낸다.
몇 가지 문제
컴 파일 문제:cc:내부 오류:Killed(program cc1)
이 문 제 는 처음 만 났 습 니 다.알 고 보 니 제 아 리 클 라 우 드 서버 가 swap 를 껐 습 니 다.메모리 가 부족 해서 이 잘못 을 알 렸 습 니 다.해결 방법 은 간단 합 니 다.configure 에--disable-fileinfo 인 자 를 추가 하면 됩 니 다.
PHP 에서 my sql 서 비 스 를 찾 을 수 없습니다.
말씀 드 린 바 와 같이 확실히 찾 지 못 했 습 니 다.ppinfo 중 pdo 를 보 세 요.mysql.default_소켓 항목
mysql.sock 이 어디 에 있 는 지 mysql.sock 의 실제 위 치 를 다시 봅 니 다.명령 사용:ps-ef|grep mysql 보기:
분명히 한 위치 에 없습니다.제 정확 한 위 치 는:/var/lib/mysql/mysql.sock 입 니 다.
그래서 php.ini 를 수정 하고 pdo 를 찾 으 세 요.mysql.default_socket,실제 위치 로 바 꾸 고 phop-fpm 를 다시 시작 합 니 다.불행 하 게 도 phop.ini 에 이 설정 이 있 지만 수정 후 에는 안 됩 니 다.컴 파일 할 때 my sql.socket 의 위 치 를 지정 하 는 것 이 좋 습 니 다.
--with-mysql-sock=/var/lib/mysql/mysql.sock
아직 안 되면/tmp 디 렉 터 리 에 my sql.sock 의 소프트 링크 를 만 들 수 있 습 니 다:
ln -s /var/lib/mysql/mysql.sock mysql.sock
php-fpm 를 다시 시작 하면 정상적으로 작 동 할 것 이 라 고 믿 습 니 다.PHP 가 지원 하 는 라 이브 러 리 가 더 필요 하 다 면 다시 컴 파일 할 수 있 습 니 다.configure 에서 필요 한 지원 을 더 하면--with-xxx 입 니 다.세 개의 라 이브 러 리 라면 이 라 이브 러 리 를 먼저 설치 해 야 한 다 는 것 을 기억 하 세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
CentOS 7에서 OpenLDAP 서버 설치 및 구성LDAP(Lightweight Directory Access Protocol)는 ID와 개체를 쉽게 관리할 수 있는 디렉터리 서비스입니다. Windows 세계에서 서버는 일반적으로 Active Directory입니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.