php5.6.31을 컴파일하고 설치하는 방법
php5.6.31 컴파일 및 설치 방법: 1. epel 소스를 추가하고 php-5.6.31을 다운로드합니다. 2. 설치 패키지의 압축을 풀고 설치합니다. 3. php-fpm.conf를 수정합니다. 5, nginx 구성 파일을 편집하고 nginx 서비스를 다시 시작합니다.
이 기사의 운영 환경: CentOS 7 시스템, php5.6.31 버전, DELL G3 컴퓨터
php5.6.31을 컴파일하고 설치하는 방법은 무엇입니까?
CentOS 7 PHP5.6.31 컴파일 및 설치
서버에 이미 nginx와 mysql이 있어서 PHP+Nginx+mysql 조합을 사용하기로 했고 인터넷에서 많은 정보를 찾아봤습니다. , 저는 Linux와 PHP에 익숙하지 않기 때문에 이해하지만 PHP, nginx 및 mysql이 어떻게 관련되어 있는지 모르겠습니다(PHP가 잘못 설치되었거나 패키지가 설치되지 않았습니다). 나중에 배포하고 보니 이 셋이 분리되어 있는 것을 발견했습니다. 설치하려면(음~~함께 설치해도 되나요?) 설치 후 php만 설정하고, (php와 관련된) nginx만 설정하면 됩니다. 직접 실행할 수 있습니다. mysql의 경우, 켜져 있고 php 프로젝트에 연결 데이터베이스가 구성되어 있으면 바로 연결할 수 있다. 그래서 이 글은 주로 PHP 설치를 목표로 하고 있습니다.
nginx 및 mysql 설치와 관련하여 설치를 시작하기 전에 일부 Linux 개발 라이브러리를 설치해야 합니다. 여기서는 모두 참조 링크에 설명하지 않겠습니다.
이 기사는 주로 다음 링크 블로그를 참조합니다: https://www.cnblogs.com/flower-tree/p/7562101.html
php 버전: 5.6.31
nginx 버전: 1.7.3
mysql 버전: 5.6.62
PHP 설치 구성
nginx 자체는 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
Modify php-fpm.conf
user = www
group = www
www 사용자가 존재하지 않는 경우 먼저 www 사용자를 추가하세요(기본 실행 사용자는 none)
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.
Execute/usr/local/php/sbin/php-fpm
ps aux | grep php-fpm
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 { } } }
server
부분만 변경하면 됩니다. vim 편집 모드로 들어가거나 FlashFXP를 사용하여 구성 파일을 데스크탑에 공유하여 변경하십시오.
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 -s reload
앞서 언급했듯이 /usr/share/nginx/html은 Nginx 웹사이트의 루트 디렉터리입니다. 이 디렉터리에서 PHP 테스트 스크립트를 생성할 수 있습니다.
vi /usr/share/nginx/html/phpinfo.php
<?php phpinfo();// 测试信息?>
설치 과정을 따랐을 때 오류가 발생했습니다: mcrypt.h를 찾을 수 없습니다. libmcrypt를 다시 설치하세요
이것은 php-mcrypt, libmcrypt 및 libmcrypt-devel 패키지가 설치되지 않았기 때문입니다. 라이브러리나 패키지가 누락되면 즉시 설치할 수 있습니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 php5.6.31을 컴파일하고 설치하는 방법의 상세 내용입니다. 자세한 내용은 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)

뜨거운 주제











PHP 8의 JIT 컴파일은 자주 실행되는 코드를 컴퓨터 코드로 컴파일하여 성능을 향상시켜 계산이 많은 응용 프로그램에 도움이되고 실행 시간을 줄입니다.

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

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

이 기사는 PHP의 대칭 및 비대칭 암호화에 대해 논의하여 적합성, 성능 및 보안 차이를 비교합니다. 대칭 암호화는 더 빠르고 벌크 데이터에 적합하지만 안전한 키 교환에는 비대칭이 사용됩니다.

PHP의 준비된 진술은 컴파일 및 재사용을 통해 SQL 주입을 방지하고 쿼리 성능을 향상시켜 데이터베이스 보안 및 효율성을 향상시킵니다. 문자 수 : 159

기사는 PHP, 커버 단계, 보안 측정, 최적화 기술 및 Solutions의 일반적인 오류를 사용하여 데이터베이스에서 데이터 검색에 대해 논의합니다. 문자 수 : 159

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

이 기사에서는 PHP에서 강력한 인증 및 승인을 구현하여 무단 액세스를 방지하고 모범 사례를 자세히 설명하고 보안 향상 도구를 권장합니다.
