


Erklären Sie, wie Sie PHP7 auf Centos installieren und php-fpm für den Start konfigurieren
Schritte zum Kompilieren und Installieren von PHP-7.2.11 in Centos 7 http://cn2.php.net/distributions/php-7.2.11.tar.gz
cd /usr/local/src wget -c http://cn2.php.net/distributions/php-7.2.11.tar.gz
Entpacken Sie nach dem Herunterladen das komprimierte Paket php-7.2.11.tar.gz und geben Sie das dekomprimierte Verzeichnis ein
tar -xzvf php-7.2.11.tar.gz cd php-7.2.11
Erfordern Sie die Installation von PHP7 Einige abhängige Bibliothekspakete LIBXML2 und einige andere abhängige Erweiterungsbibliotheken
Benutzer und Gruppen hinzufügen: (RECIMMILIERT (kostenlos):
Der Benutzer und die Gruppe hier sind nginx, mein Benutzername für nginx) groupadd -r nginx && useradd -r -g nginx -s /sbin/nologin
php-Installationskonfiguration
Bitte wählen Sie den entsprechenden A B C für die Installation und Konfiguration aus -path=/usr/local/php/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-inline-optimization --disable-debug --disable - rpath --enable-shared --enable-soap --with-xmlrpc --with-openssl --with-mcrypt --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-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
B. PHP 7.2.10 Mehrzeilenmodus./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--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-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
./configure \ --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --enable-fpm \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-soap \ --with-xmlrpc \ --with-openssl \ --with-mcrypt \ --with-pcre-regex \ --with-sqlite3 \ --with-zlib \ --enable-bcmath \ --with-iconv \ --with-kerberos \ --with-libdir=lib64 \ --with-bz2 \ --enable-calendar \ --with-curl \ --with-cdb \ --enable-dom \ --enable-exif \ --enable-fileinfo \ --enable-filter \ --with-pcre-dir \ --enable-ftp \ --enable-gd \ --with-openssl-dir \ --with-jpeg-dir \ --with-png-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 \ --with-zip \ --enable-xml \ --enable-mysqlnd-compression-support \ --with-pear \ --enable-opcache \ --enable-pcntl
Ab PHP 7.4.0 , müssen Sie beim Kompilieren von PHP die Konfigurationsoption
--with-zipverwenden, um Zip-Unterstützung bereitzustellen. Für frühere PHP-Versionen müssen Sie die OptionKompilieren und installieren Sie php7--enable-zip
verwenden.
make && make install( Wenn ein Fehler von make: *** [sapi/cli/php] Fehler 1 auftritt, fahren Sie mit der Ausführung von make ZEND_EXTRA_LIBS='-liconv 'Befehlslösung fort
Erfolgreich kompilieren, PHP-Version überprüfen/usr/local/php/bin/php -vFühren Sie php-fpm aus
/usr/local/php/sbin/php-fpm
Fehler, die beim Starten von php-fpm auftreten können, sind im Wesentlichen Konfigurationsdateikonfigurations- und Umbenennungsprobleme:
Fehler 1:
Missing www.conf-Konfigurationsdatei (WARNUNG: Nichts entspricht dem Include-Muster /usr/local /php/etc/php- fpm.d/*.conf) müssen Sie www.conf.default im Verzeichnis /usr/local/php/etc/php-fpm.d/*.conf in www.conf umbenennen
Fehler 2:
Fehler 3:Fehlende php.ini-Konfigurationsdatei Nachdem php7 kompiliert und installiert wurde, werden Sie feststellen, dass keine php.ini-Konfigurationsdatei vorhanden ist. Sie müssen php.ini-produktion oder php.ini-development in das Stammverzeichnis kopieren des entpackten Pakets und benennen Sie es um. Gehen Sie für php.ini in den Ordner /usr/local/php/etc im php-kompilierten Installationsverzeichnis.
Andere Fehlerlösungen:
Fehler: Paketanforderungen (sqlite3 > 3.7 .4) wurden nicht erfüllt. -with-mcrypt, --enable-gd-native-ttf
php7.2 und höher unterstützt nicht –with-mcrypt, --enable-gd-native-ttf. Diese beiden Parameter müssen entfernt werdenKompilieren und installieren Sie in Centos7. Nach der Installation von PHP wird PHP nach dem Neustart des Systems nicht gestartet. Sie müssen daher Centos7 ein Startskript hinzufügen, um den PHP-Dienst zu starten.
php7-Kompilierungs- und Installationsmethode: http://zixuephp.net/article-207.html
Manueller Start:/usr/local/php/sbin/php-fpm
Automatischer Start beim Booten :
Konfiguration PHP-FPM PID aktivieren
- #找到php-fpm.conf配置文件
- /usr/local/php/etc/php-fpm.conf
- #开启pid ,去掉分号注释
- pid = run/php-fpm.pid
安装后要进行的操作:
1. 把安装目录下的 php.ini-development 复制到 /etc/ 目录下 2. 修改 /usr/local/php/etc/php-fpm.conf.default 名为 php-fpm.conf 并进入修改 3. 修改 /usr/local/php/etc/php-fpm.d/www.conf.default 为 www.conf 并进入修改
PHP 7.4.10 安装 ZIP
1 扩展包 wget https://pecl.php.net/get/zip-1.19.0.tgz 2 解压 并进入 tar -zxvf zip-1.19.0.tgz 2.2 cd zip-1.19.0 3 /usr/local/php/bin/phpize 4 ./configure --with-php-config=/usr/local/php/bin/php-config 自己的php目录 5 make && make install --------------------- 然后下载最新的,解压 wget https://libzip.org/download/libzip-1.5.2.tar.gz tar -zxvf libzip-1.5.2.tar.gz 这时发现还要安装cmake,再去下载cmake: wget https://github.com/Kitware/CMake/releases/download/v3.15.4/cmake-3.15.4.tar.gz 解压: tar -zxvf cmake-3.15.4.tar.gz 注意:cmake要按照文档安装 ./bootstrap && make && sudo make install 漫长的等待,安装完成后,执行 cmake -version 出现版本号即表示cmake安装成功。 接下来, 再进入 cd libzip-1.5.2 mkdir build && cd build/ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/libzip .. make make install //检测libzip是否安装成功 whereis libzip libzip: /usr/local/libzip
创建开机启动脚本
在Linux中将php-fpm配置成服务的方法
PHP 源文件路径: /usr/local/src/php-7.2.11/
PHP 安装后路径: /usr/local/php/
1、配置 php-fpm.conf
vim /usr/local/php/etc/php-fpm.conf
php-fpm.pid 目录必须指向:/usr/local/php/var/run/php-fpm.pid
2、拷贝php-fpm脚本至/etc/init.d目录
cp /usr/local/src/php-7.2.11/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
#! /bin/sh ### BEGIN INIT INFO # Provides: php-fpm # Required-Start: $remote_fs $network # Required-Stop: $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts php-fpm # Description: starts the PHP FastCGI Process Manager daemon ### END INIT INFO prefix=/usr/local/php exec_prefix=${prefix} php_fpm_BIN=${exec_prefix}/sbin/php-fpm php_fpm_CONF=${prefix}/etc/php-fpm.conf php_fpm_PID=${prefix}/var/run/php-fpm.pid php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID" wait_for_pid () { try=0 while test $try -lt 35 ; do case "$1" in 'created') if [ -f "$2" ] ; then try='' break fi ;; 'removed') if [ ! -f "$2" ] ; then try='' break fi ;; esac echo -n . try=`expr $try + 1` sleep 1 done } case "$1" in start) echo -n "Starting php-fpm " $php_fpm_BIN --daemonize $php_opts if [ "$?" != 0 ] ; then echo " failed" exit 1 fi wait_for_pid created $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; stop) echo -n "Gracefully shutting down php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -QUIT `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed. Use force-quit" exit 1 else echo " done" fi ;; status) if [ ! -r $php_fpm_PID ] ; then echo "php-fpm is stopped" exit 0 fi PID=`cat $php_fpm_PID` if ps -p $PID | grep -q $PID; then echo "php-fpm (pid $PID) is running..." else echo "php-fpm dead but pid file exists" fi ;; force-quit) echo -n "Terminating php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -TERM `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; restart) $0 stop $0 start ;; reload) echo -n "Reload service php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -USR2 `cat $php_fpm_PID` echo " done" ;; configtest) $php_fpm_BIN -t ;; *) echo "Usage: $0 {start|stop|force-quit|restart|reload|status|configtest}" exit 1 ;; esac
3、设置权限并启动php-fpm:
chmod 755 /etc/init.d/php-fpm
/etc/init.d/php-fpm start
chkconfig –add php-fpm
最后,给出php-fpm以服务的方式启动、停止和重启:
service php-fpm start
service php-fpm stop
service php-fpm reload
PHP-FPM 自启动配置服务:
vim /etc/rc.d/rc.local
查看开机启动的所有服务
chkconfig --list
nginx demo 配置:(不要忘记chown www-data:www-data 网站目录 不然没权限)
server { listen 80; server_name {{ server_name }}; access_log /data/logs/nginx/{{ server_name }}/access.log; error_log /data/logs/nginx/{{ server_name }}/error.log; location / { index index.php index.html index.htm; root /data/www/wwwroot/{{ server_name }}/; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php; } } location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/tmp/php-fcgi.sock; fastcgi_index index.php; } }
php-fpm配置 (重命名两个文件 其他看实际情况配置(略。。。))
www.conf.default -> www.conf
php-fpm.conf.default -> php-fpm.conf
启动: php-fpm -D
nginx -s reload
Das obige ist der detaillierte Inhalt vonErklären Sie, wie Sie PHP7 auf Centos installieren und php-fpm für den Start konfigurieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Zu den Methoden zur Verwendung chinesischer Eingaben in CentOS gehören: Verwenden der fcitx-Eingabemethode: Installieren und aktivieren Sie fcitx, legen Sie Tastenkombinationen fest, drücken Sie die Tastenkombinationen, um die Eingabemethoden zu wechseln, und geben Sie Pinyin ein, um Kandidatenwörter zu generieren. Verwenden Sie die iBus-Eingabemethode: Installieren und aktivieren Sie iBus, legen Sie Tastenkombinationen fest, drücken Sie die Tastenkombinationen, um die Eingabemethoden zu wechseln, und geben Sie Pinyin ein, um Kandidatenwörter zu generieren.

Um U-Disk-Dateien in CentOS 7 zu lesen, müssen Sie zuerst die U-Disk anschließen und ihren Gerätenamen bestätigen. Führen Sie dann die folgenden Schritte aus, um die Datei zu lesen: Mounten Sie das USB-Flash-Laufwerk: mount /dev/sdb1 /media/sdb1 (ersetzen Sie „/dev/sdb1“ durch den tatsächlichen Gerätenamen). Durchsuchen Sie die Datei des USB-Flash-Laufwerks: ls /media /sdb1; cd /media /sdb1/directory; cat-Dateiname

Es gibt zwei Möglichkeiten, die Root-Autorität von CentOS 7 einzugeben: Verwenden Sie den Befehl sudo: Geben Sie im Terminal sudo su - ein und geben Sie das aktuelle Benutzerkennwort ein. Melden Sie sich direkt als Root-Benutzer an: Wählen Sie auf dem Anmeldebildschirm „Andere“, geben Sie „root“ und das Root-Passwort ein. Hinweis: Gehen Sie vorsichtig mit Root-Rechten um, führen Sie Aufgaben mit Sudo-Rechten aus und ändern Sie das Root-Passwort regelmäßig.

Mit dem Befehl scp können Dateien sicher zwischen Netzwerkhosts kopiert werden. Es verwendet SSH für die Datenübertragung und Authentifizierung. Die typische Syntax lautet: scpfile1user@host:/path/to/dest/scp -r/path/to/source/user@host:/path/to/dest/scp Dateien ausschließen. Ich glaube nicht, dass Sie das können, wenn Sie den scp-Befehl verwenden Dateien filtern oder ausschließen. Es gibt jedoch einen guten Workaround, die Datei auszuschließen und sie sicher per SSH zu kopieren. Auf dieser Seite wird erläutert, wie Sie Dateien filtern oder ausschließen, wenn Sie Verzeichnisse mit scp rekursiv kopieren. So verwenden Sie den Befehl rsync, um Dateien auszuschließen. Die Syntax lautet: rsyncav-essh-

Zu den Lösungen für vergessene CentOS-Passwörter gehören: Einzelbenutzermodus: Wechseln Sie in den Einzelbenutzermodus und setzen Sie das Passwort mit passwd root zurück. Rettungsmodus: Booten Sie von CentOS Live CD/USB, mounten Sie die Root-Partition und setzen Sie das Passwort zurück. Fernzugriff: Verwenden Sie SSH, um eine Fernverbindung herzustellen und das Kennwort mit sudo passwd root zurückzusetzen.

Nachdem Sie Ihren CentOS-Benutzernamen und Ihr Passwort vergessen haben, gibt es zwei Möglichkeiten, den Zugriff wiederherzustellen: Setzen Sie das Root-Passwort zurück: Starten Sie den Server neu, bearbeiten Sie die Kernel-Befehlszeile im GRUB-Menü, fügen Sie „rw init=/sysroot/bin/sh“ hinzu und drücken Sie Strg +x ;Mounten Sie das Root-Dateisystem und setzen Sie das Passwort im Einzelbenutzermodus zurück. Rettungsmodus verwenden: Starten Sie den Server vom CentOS-Installations-ISO-Image, wählen Sie den Rettungsmodus; mounten Sie das Root-Dateisystem, kopieren Sie die Chroot-Umgebung vom ISO-Image, setzen Sie das Passwort zurück, verlassen Sie die Chroot-Umgebung und starten Sie den Server neu.

CentOS 7 deaktiviert standardmäßig die Root-Berechtigungen. Sie können sie aktivieren, indem Sie die folgenden Schritte ausführen: Vorübergehend aktivieren: Geben Sie „su root“ auf dem Terminal ein und geben Sie das Root-Passwort ein. Dauerhaft aktiviert: Bearbeiten Sie „/etc/ssh/sshd_config“, ändern Sie „PermitRootLogin no“ in „yes“ und starten Sie den SSH-Dienst neu.

Drei Lösungen für vergessene Passwörter in CentOS 7: Einzelbenutzermodus: Starten Sie das System neu, bearbeiten Sie die Kernel-Optionen, ändern Sie ro in rw init=/sysroot/bin/sh und verwenden Sie den Befehl passwd, um das Root-Passwort zurückzusetzen. Rettungsmodus: Booten Sie vom Installationsmedium, wählen Sie den Rettungsmodus, mounten Sie das Root-Dateisystem, chrooten Sie zum Root-Dateisystem und verwenden Sie den Befehl passwd, um das Root-Passwort zurückzusetzen. Grub2-Befehlszeile: Starten Sie das System neu, drücken Sie c, um die Befehlszeile aufzurufen, laden Sie den Kernel, mounten Sie das Root-Dateisystem, chrooten Sie zum Root-Dateisystem und verwenden Sie den Befehl passwd, um das Root-Passwort zurückzusetzen.
