php5.6.31을 컴파일하고 설치하는 방법: 1. epel 소스를 추가합니다. 2. 종속 항목을 설치합니다. 3. php5.6.31을 다운로드하고 압축을 풉니다. 4. php-fpm을 시작합니다.
이 글의 운영 환경: CentOS 7 시스템, php 버전: 5.6.31 nginx 버전: 1.7.3 mysql 버전: 5.6.62, DELL G3 컴퓨터
php5.6.31 컴파일 및 설치 방법 ?
CentOS 7 PHP5.6.31 컴파일 및 설치:
서버에 이미 nginx와 mysql이 있으므로 PHP+Nginx+mysql 조합을 사용하기로 결정했습니다. 인터넷, 나는 Linux와 PHP에 대해 모르기 때문에 PHP가 nginx 및 mysql과 어떻게 관련되어 있는지 모릅니다. PHP가 잘못 설치되었거나 패키지가 설치되지 않았습니다. ), 나중에 배포한 후에 이 세 가지가 모두 있다는 것을 알았습니다. 별도로 설치하려면(음~~함께 설치해도 됩니까?) 설치 후 PHP를 구성한 다음 nginx를 구성하기만 하면 됩니다. PHP와 연결됨) 직접 실행할 수 있습니다. mysql의 경우, 켜져 있고 php 프로젝트에 연결 데이터베이스가 구성되어 있으면 바로 연결할 수 있다. 그래서 이 글은 주로 PHP 설치를 목표로 하고 있습니다.
nginx 및 mysql 설치와 관련하여 설치를 시작하기 전에 일부 Linux 개발 라이브러리를 설치해야 합니다. 여기서는 모두 참조 링크에 설명하지 않겠습니다.
PHP 설치 구성
nginx 자체는 PHP를 처리할 수 없습니다. 이는 단지 웹 서버일 뿐입니다. 요청이 수신되면 PHP 요청인 경우 처리를 위해 PHP 인터프리터로 전송되고 결과가 반환됩니다. 클라이언트.
nginx는 일반적으로 처리를 위해 fastcgi 관리 프로세스에 요청을 보냅니다. fastcgi 관리 프로세스는 결과를 처리할 cgi 하위 프로세스를 선택하고 이를 nginx에 반환합니다.
PHP-FPM이란 무엇인가요? PHP-FPM은 PHP용 FASTCGI 관리자입니다. 새 버전에는 php-fpm이 통합되어 있으며, php-fpm은 더 나은 PHP 프로세스 관리를 제공하고, 메모리와 프로세스를 원활하게 다시 로드할 수 있습니다. 구성할 때 -enable-fpm 매개변수를 사용하여 php-fpm을 활성화할 수 있습니다. 다른 매개변수는 여기에서 찾을 수 있습니다. fastcgi가 무엇인지, php-fpm과의 관계는 https://segmentfault.com/ 링크를 참조하세요. q/1010000000256516
설치 전 준비
epel 소스 추가
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
설치 종속성
yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-develyum -y install gcc gcc-c++ glibcyum -y install libmcrypt-devel mhash-devel libxslt-devel \ libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \ zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \ ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \ krb5 krb5-devel libidn libidn-devel openssl openssl-devel
Downloadphp-5.6.31
1) 압축을 푼다 /usr/local/src에 설치 패키지
cd /usr/local/srctar -zvxf php-5.6.31.tar.gz
2) 설치 디렉토리에 들어가서
cd php-5.6.31./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt \--enable-mbstring --enable-pdo --with-curl --disable-debug --disable-rpath \--enable-inline-optimization --with-bz2 --with-zlib --enable-sockets \--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \--with-gd --with-jpeg-dir --with-freetype-dir --enable-calendarmake && make install
CentOS 中下载php: wget http://php.net/get/php-5.6.30.tar.gz/from/this/mirror
를 설치하면 php-fpm 설치가 완료됩니다. 설치 과정은 시간이 좀 걸립니다.
php 구성 정보
1. php
cp php.ini-production /usr/local/php/etc/php.ini
에 대한 구성 파일을 제공하세요. 참고: php.ini-production은 현재 아직 /usr/local/src/php-5.6.31 디렉토리에 있습니다
2. fpm 구성 파일
cd /usr/local/phpcp etc/php-fpm.conf.default etc/php-fpm.conf vim etc/php-fpm.conf
수정 php-fpm.conf
user = www group = www
www 사용자가 없으면 먼저 www 사용자를 추가하세요(기본 실행 사용자는 없음)
groupadd www useradd -g www www
이 단계가 구성되지 않으면 브라우저는 PHP 파일을 열 때 오류를 보고합니다
"찾고 있는 페이지를 일시적으로 사용할 수 없습니다. 나중에 다시 시도해 주세요."
Modify
pm.max_children = 150 pm.start_servers = 8 pm.min_spare_servers = 5 pm.max_spare_servers = 10 pid = /usr/local/php/var/run/php-fpm.pid
3. php-fpm을 시작하세요
Execute
/usr/local/php/sbin/php-fpm
다음을 사용하세요. 확인하기 위한 명령(이 명령의 출력이 올바른지 몇 가지 php-fpm 프로세스가 시작에 성공한 것으로 나타남):
ps aux | grep php-fpm
결과는 다음과 같습니다.
3.Integration of nginx and php-fpm.
nginx 구성 파일을 편집하세요
vim /usr/local/nginx/conf/nginx.conf
초기 내용은 다음과 같습니다.
# nginx运行的用户名 user nginx; # nginx启动进程,通常设置成和cpu的数量相等,这里为自动 worker_processes auto; # errorlog文件位置 error_log /var/log/nginx/error.log; # pid文件地址,记录了nginx的pid,方便进程管理 pid /run/nginx.pid; # Load dynamic modules. See /usr/share/nginx/README.dynamic. # 用来加载其他动态模块的配置 include /usr/share/nginx/modules/*.conf; # 工作模式和连接数上限 events { # 每个worker_processes的最大并发链接数 # 并发总数:worker_processes*worker_connections worker_connections 1024; } # 与提供http服务相关的一些配置参数类似的还有mail http { # 设置日志的格式 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; # access_log记录访问的用户、页面、浏览器、ip和其他的访问信息 access_log /var/log/nginx/access.log main; # 这部分下面会单独解释 # 设置nginx是否使用sendfile函数输出文件 sendfile on; # 数据包最大时发包(使用Nagle算法) tcp_nopush on; # 立刻发送数据包(禁用Nagle算法) tcp_nodelay on; # 链接超时时间 keepalive_timeout 65; # 这个我也不清楚... types_hash_max_size 2048; # 引入文件扩展名与文件类型映射表 include /etc/nginx/mime.types; # 默认文件类型 default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; # http服务上支持若干虚拟主机。 # 每个虚拟主机一个对应的server配置项 # 配置项里面包含该虚拟主机相关的配置。 server { # 端口 listen 80 default_server; listen [::]:80 default_server; # 访问的域名 server_name _; # 默认网站根目录(www目录) root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; # 默认请求 location / { } # 错误页(404) error_page 404 /404.html; location = /40x.html { } # 错误页(50X) error_page 500 502 503 504 /50x.html; location = /50x.html { } } }
us 구성을 변경하려면 server
부분만 필요합니다. vim 편집 모드로 들어가거나 FlashFXP를 사용하여 구성 파일을 데스크탑에 공유하여 변경하십시오.
3개만 변경하면 됩니다
server { listen 80 default_server; listen [::]:80 default_server; # 这里改动了,也可以写你的域名,我用的是IP地址 server_name 192.168.0.222; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { # 这里改动了 定义首页索引文件的名称 index index.php index.html index.htm; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } # 这里新加的 # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置. # Fastcgi服务器和程序(PHP,Python)沟通的协议. location ~ \.php$ { # 设置监听端口 fastcgi_pass 127.0.0.1:9000; # 设置脚本文件请求的路径 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 引入fastcgi的配置文件 include fastcgi_params; } }
nginx 서버를 다시 시작합니다
nginx -s reload
이때 nginx와 php가 공동으로 구성되었지만 실제 구성 효과는 현재로서는 알 수 없습니다. 확인해 봅시다.
앞서 언급했듯이 /usr/share/nginx/html은 Nginx 웹사이트의 루트 디렉터리입니다. 이 디렉터리에서 PHP 테스트 스크립트를 생성할 수 있습니다.
#phpinfo.php는 제가 만들고 싶은 파일 이름입니다
vi /usr/share/nginx/html/phpinfo.php
편집기를 연 후
<?php phpinfo();// 测试信息?>를 입력하세요
저장 후 종료 후 브라우저에 http://192.168.0.222/phpinfo.php를 입력하세요. 저는 IP가 192.168.0.222 인데, 변경하시면 됩니다. 그림과 같이 다음과 유사한 인터페이스가 나타납니다.
Nginx 및 php가 구성되었습니다.
4. 설치 과정에서 오류가 발생하는 이유
과정대로 설치했는데 mcrypt.h를 찾을 수 없다는 오류가 발생했습니다. libmcrypt를 다시 설치하세요
이유는 php-mcrypt libmcrypt libmcrypt-devel 패키지가 설치되지 않았으며 오류는 모두 누락된 라이브러리 또는 패키지이므로 설치하면 됩니다.
이제 PHP가 구성되었습니다. 원활한 설치를 기원합니다. 그건 그렇고, 미리 모두 새해 복 많이 받으세요!
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 php5.6.31을 컴파일하고 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사는 산 및 기본 데이터베이스 모델을 비교하여 특성과 적절한 사용 사례를 자세히 설명합니다. 산은 금융 및 전자 상거래 애플리케이션에 적합한 데이터 무결성 및 일관성을 우선시하는 반면 Base는 가용성 및

이 기사는 코드 주입과 같은 취약점을 방지하기 위해 PHP 파일 업로드 보안에 대해 설명합니다. 파일 유형 유효성 검증, 보안 저장 및 오류 처리에 중점을 두어 응용 프로그램 보안을 향상시킵니다.

기사는 내장 함수 사용, 화이트리스트 접근 방식 및 서버 측 유효성 검사와 같은 기술에 중점을 둔 보안을 향상시키기 위해 PHP 입력 유효성 검증에 대한 모범 사례를 논의합니다.

이 기사는 토큰 버킷 및 누출 된 버킷과 같은 알고리즘을 포함하여 PHP에서 API 요율 제한을 구현하고 Symfony/Rate-Limiter와 같은 라이브러리 사용 전략에 대해 설명합니다. 또한 모니터링, 동적 조정 요율 제한 및 손도 다룹니다.

이 기사에서는 PHP에서 암호를 보호하기 위해 PHP에서 Password_hash 및 Password_Verify 사용의 이점에 대해 설명합니다. 주요 주장은 이러한 기능이 자동 소금 생성, 강한 해싱 알고리즘 및 Secur를 통해 암호 보호를 향상 시킨다는 것입니다.

이 기사는 PHP 및 완화 전략의 OWASP Top 10 취약점에 대해 설명합니다. 주요 문제에는 PHP 응용 프로그램을 모니터링하고 보호하기위한 권장 도구가 포함 된 주입, 인증 파손 및 XSS가 포함됩니다.

이 기사는 PHP의 XSS 공격을 방지하기위한 전략, 입력 소독, 출력 인코딩 및 보안 향상 라이브러리 및 프레임 워크 사용에 중점을 둔 전략에 대해 설명합니다.

이 기사는 각각의 사용시기에 중점을 둔 PHP의 인터페이스 및 추상 클래스 사용에 대해 설명합니다. 인터페이스는 관련없는 클래스 및 다중 상속에 적합한 구현없이 계약을 정의합니다. 초록 클래스는 일반적인 기능을 제공합니다


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

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

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음
