Heim > Artikel > Backend-Entwicklung > Detaillierte Schritte zum Kompilieren, Installieren und Konfigurieren von PHP8 in Centos
Dieser Artikel vermittelt Ihnen relevantes Wissen über PHP. Er stellt hauptsächlich vor, wie Sie PHP im Centos-System kompilieren und installieren und wie Sie es richtig konfigurieren. Freunde, die interessiert sind, können einen Blick darauf werfen. Ich hoffe, es wird für alle hilfreich sein.
PHP (vollständiger Name: PHP: Hypertext Preprocessor, d. h. „PHP: Hypertext Preprocessor“) ist eine universelle Open-Source-Computerskriptsprache, die sich besonders für die Webentwicklung eignet und in HTML eingebettet werden kann. Die Syntax von PHP basiert auf den Merkmalen beliebter Computersprachen wie C, Java und Perl und ist für normale Programmierer leicht zu erlernen. Das Hauptziel von PHP besteht darin, Webentwicklern das schnelle Schreiben dynamischer Seiten zu ermöglichen.
yum install
Wenn bei der Installation der devel
-Software ein Fehler gemeldet wird und die Installation nicht durchgeführt werden kann, versuchen Sie, den CentOS-Base.repo. Der Dateiinhalt in rpmsave
wird in CentOS-Linux-BaseOS.repo
überschrieben, und CentOS-AppStream.repo.rpmsave
wird überschrieben überschrieben in CentOS-Linux-AppStream .repo
, bitte vor dem Betrieb ein Backup erstellen Da es kein Oniguruma-Paket in der Yum-Quelle gibt, verwenden wir hier den Github-Quellcode zum Kompilieren und Installieren, Projektadresse: https://github.com/kkos/onigurumawget https://www.php.net/distributions/php-8.1.6.tar.gz
tar -zxvf php-8.1.6.tar.gz
cd php-8.1.6
Benutzer erstellen
yum install libxml2 libxml2-devel libsqlite3x-devel openssl bzip2 libcurl-devel libcurl libjpeg libpng freetype gmp libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glib2 ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel -y
-g www
Benutzergruppe angeben-M
Kein Home-Verzeichnis erstellen (ein Home-Verzeichnis ist nicht erforderlich, um das Programm auszuführen)-s /sbin/nologin
Ermöglicht keine Anmeldung, sichererKompilieren und installierenwget https://github.com/kkos/oniguruma/releases/download/v6.9.8/onig-6.9.8.tar.gz tar -zxvf onig-6.9.8.tar.gz cd onig-6.9.8 ./configure --prefix=/usr make && make install
因 yum 源中没有 oniguruma 包,这里使用 github 源码编译安装,项目地址:https://github.com/kkos/oniguruma
# 创建用户组 groupadd www # 创建用户 useradd -g www www -M -s /sbin/nologin
安全起见,我们需要创建一个用户用于运行 php,一般这个用户是禁止登陆的,本文创建用户名与用户组均为 www
,这个名称可以自定义
# 生成编译文件 ./configure --prefix=/www/server/php81 --with-config-file-path=/www/server/php81/etc --enable-fpm --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype --with-mcrypt --with-jpeg --with-png -with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl -enable-mbstring --enable-gd --with-openssl --with-mhash --enable-pcntl --with-xmlrpc --enable-zip --enable-soap --with-gettext --enable-opcache --with-xsl --enable-sockets --enable-mbregex --enable-ftp --with-webp # 编译并安装 make && make install # 复制配置文件 cp php.ini-production /www/server/php81/etc/php.ini # 或者使用 development cp php.ini-development /www/server/php81/etc/php.ini
-g www
指定用户组-M
不创建家目录(程序运行不需要家目录)-s /sbin/nologin
不允许登录,更加安全ln -s /www/server/php81/sbin/php-fpm /www/server/php81/bin/php-fpm
如果使用 apache
的话,需要在编译参数中新增 --with-apxs2=/www/server/apache/bin/apxs
,同时 --enable-fpm
参数可去除,其中 /www/server/apache
为 apache
安装目录,编译完成后在 apache
的配置文件中解注释对 php_module
的注释即可,本文不细讲 apache
配置。
在 /etc/profile
下新增 PATH=$PATH:/www/server/php81/bin && export PATH
,使用 source /etc/profile
使配置立即生效。
创建 php-fpm
软链接:
cp /www/server/php81/etc/php-fpm.conf.default /www/server/php81/etc/php-fpm.conf cp /www/server/php81/etc/php-fpm.d/www.conf.default /www/server/php81/etc/php-fpm.d/www.conf
nginx 配置 php
复制配置文件,如果之前已经复制过请跳过此步骤:
/www/server/php81/sbin/php-fpm
启动 php-fpm:
location ~ [^/]\.php(/|$) { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; }
修改 nginx 配置文件
编辑 nginx.conf
文件,在对应的 server
下新增如下内容:
<?php phpinfo();
重启 nginx ,nginx -s reload
,在网站根目录新建 phpinfo.php
Umgebungsvariablen konfigurieren
🎜🎜Fügen SiePATH=$PATH:/www/server/php81/bin && export PATH
unter /etc/profile
> hinzu , verwenden Sie source /etc/profile
, damit die Konfiguration sofort wirksam wird. 🎜🎜Erstellen Sie einen php-fpm
-Softlink: 🎜[www] ; 根据版本配置,比如 php8.1 配置为 php-cgi-81.sock listen = /tmp/php-cgi-81.sock listen.backlog = 8192 listen.allowed_clients = 127.0.0.1 ; 运行 master 进程用户名,一定要设置!!并且 listen 中设置的文件 nginx 必须有读权限,否则会报错 listen.owner = www ; 运行 master 进程用户名,参考上一个 listen.group = www listen.mode = 0666 ; worker 进程运行的用户,该用户需要有运行的 PHP 文件的读权限,如涉及文件上传还需要对应目录的写权限 user = www ; worker 进程的用户组,参考上一项 group = www ; 动态调整 worker 数 pm = dynamic ; 依据版本设置 如 php8.1 配置为 phpfpm_81_status pm.status_path = /phpfpm_81_status ; 最大 worker 进程数 一般设置为 内存/50M pm.max_children = 50 ; 启动时的 worker 进程数 pm.start_servers = 5 ; 限制时的最小 worder 进程数 pm.min_spare_servers = 5 ; 限制时的最大 worder 进程数 pm.max_spare_servers = 10 ; 请求超时时间 request_terminate_timeout = 100 ; 慢日志记录时间,请求事件超出此时间会记录日志 request_slowlog_timeout = 30 ; 慢日志目录,目录一定要存在且上面设置的 user 用户要有写权限 slowlog = /www/wwwlogs/php/slow.log
推荐学习:《PHP视频教程》
Das obige ist der detaillierte Inhalt vonDetaillierte Schritte zum Kompilieren, Installieren und Konfigurieren von PHP8 in Centos. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!