Heim > Backend-Entwicklung > PHP7 > So kompilieren und installieren Sie PHP7 aus dem Quellcode

So kompilieren und installieren Sie PHP7 aus dem Quellcode

coldplay.xixi
Freigeben: 2023-02-17 16:20:01
nach vorne
5068 Leute haben es durchsucht

So kompilieren und installieren Sie PHP7 aus dem Quellcode

Laden Sie die neueste Version des PHP 7.0.5-Quellcodepakets herunter:

 

Laden Sie es herunter und laden Sie es hoch Server

Da die PHP-Installation eine Kompilierung erfordert, sollte der Server die Installation von gcc- und g++-Umgebungen sicherstellen

Empfohlenes Tutorial: „PHP-Video-Tutorial

Geben Sie zuerst das Installationspaket frei:

tar -xvzf php-7.0.5.tar.gz
cd php-7.0.5
Nach dem Login kopieren

Als nächstes konfigurieren Sie die Parameter. Wenn vor der Konfiguration kein libxml2 und libxml2-devel vorhanden ist, wird ein Fehler gemeldet, daher sollte libxml2 aktualisiert und libxml2-devel installiert werden. Verwenden Sie die Online-Installation:

yum -y install libxml2
yum -y install libxml2-devel
Nach dem Login kopieren

Ergänzend, da verschiedene Betriebssystemumgebungen eine unterschiedliche Vollständigkeit der Systeminstallations- und Entwicklungsumgebungspakete aufweisen. Daher wird empfohlen, bei der Installation des Betriebssystems alle erforderlichen Auswahlen zu treffen Befehle auf einheitliche Weise, um die deinstallierten Komponenten zu installieren. Wenn die Version vollständig konsistent ist, werden die Befehle wie folgt zusammengefasst:

So kompilieren und installieren Sie PHP7 aus dem Quellcode

yum -y install openssl
yum -y install openssl-devel
yum -y install curl
yum -y install curl-devel
yum -y install libjpeg
yum -y install libjpeg-devel
yum -y install libpng
yum -y install libpng-devel
yum -y install freetype
yum -y install freetype-devel
yum -y install pcre
yum -y install pcre-devel
yum -y install libxslt
yum -y install libxslt-devel
yum -y install bzip2
yum -y install bzip2-devel
Nach dem Login kopieren

So kompilieren und installieren Sie PHP7 aus dem Quellcode

Wenn Sie Probleme feststellen, führen Sie die Konfiguration aus:

./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip
Nach dem Login kopieren

Tatsächlich gibt es hier mehr Konfigurationselemente als die oben genannten. Sie können den Befehl ./configure --help verwenden. Beachten Sie, dass hier keine native Unterstützung für --with-mysql vorhanden ist php7, und die Operationen sind zu mysqli oder pdo geworden. Für die normale PHP-Entwicklung reichen die oben genannten Optionen völlig aus. Bei Bedarf können Sie später das entsprechende Modul manuell öffnen

und dann die Kompilierung ausführen:

make
Nach dem Login kopieren

Die Kompilierungszeit kann etwas lang sein. Nachdem die Kompilierung abgeschlossen ist, führen Sie die Installation aus:

make install
Nach dem Login kopieren

Der Standardinstallationsort von PHP ist bereits oben. Geben Sie ihn als /usr/local/php an und konfigurieren Sie ihn entsprechende Datei:

cp php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
ln -s /usr/local/php/sbin/php-fpm /usr/local/bin
Nach dem Login kopieren

Dann legen Sie php.ini fest, verwenden Sie: vim /usr/local/php/lib/php.ini, um die PHP-Konfigurationsdatei zu öffnen und das Konfigurationselement cgi .fix_pathinfo zu finden. Dieses Element ist auskommentiert Standardmäßig ist der Wert 1. Laut offizieller Dokumentation soll dies verhindern, dass Nginx Anfragen an das Back-End-PHP-FPM-Modul sendet, wenn die Datei nicht vorhanden ist, und so böswillige Skriptinjektionsangriffe vermeiden sollte unkommentiert und auf 0 gesetzt sein

 

Nach dem Festlegen speichern und beenden

Ein weiterer zu beachtender Ort ist der Speicherort der php.ini-Konfigurationsdatei In den Konfigurationsparametern vor der Kompilierung können die Kompilierungsparameter wie folgt geschrieben werden: --with-config-file-path=/usr/local/php. In diesem Fall kehrt PHP zum angegebenen Verzeichnis zurück, um die php.ini zu lesen Konfigurationsdatei. Wenn Sie dies nicht hinzufügen, ist der Standardspeicherort der Parameter das lib-Verzeichnis unter dem PHP-Installationsverzeichnis. Die Details können auch in der phpinfo()-Ausgabeschnittstelle angezeigt werden von PHP gelesen werden, werden alle Konfigurationsänderungen nicht wirksam.

Zu diesem Zeitpunkt sollten Sie zunächst einen Webbenutzer erstellen:

groupadd www-data
useradd -g www-data www-data
Nach dem Login kopieren

Dann sagen einige Online-Tutorials, dass Sie Änderungen vornehmen müssen php-fpm.conf, um die oben erstellten Benutzer und Gruppen hinzuzufügen, verwenden Sie zu diesem Zeitpunkt vim /usr/local/etc/php-fpm.conf. Nach dem Öffnen der Datei kann der offizielle Speicherort nicht gefunden werden:

Wenn Sie es zu diesem Zeitpunkt an einem beliebigen Ort hinzufügen, wird im nächsten Schritt beim Starten von php-fpm ein Fehler „Verzeichnis nicht gefunden“ gemeldet. Fügen Sie daher keine Benutzer und Gruppen in php-fpm hinzu .conf. Gehen Sie zu diesem Zeitpunkt zur letzten Zeile von php-fpm.conf und Sie finden den folgenden Inhalt (falls während der Kompilierung hinzugefügt). Die Option --prefix vervollständigt automatisch die folgenden Positionen. Bitte beachten Sie, dass die Standardeinstellung unten leer ist ):

 

Alle Confs im Verzeichnis php-fpm.d werden hier eingeführt, aber KEINE muss in unser tatsächliches Verzeichnis geändert werden: /usr/local

  

  默认情况下etc/php-fpm.d/下有一个名为www.conf.defalut的配置用户的文件,执行下面命令复制一个新文件并且打开:

cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
vim /usr/local/etc/php-fpm.d/www.conf
Nach dem Login kopieren

  默认user和group的设置为nobody,将其改为www-data

  

  修改完成之后,保存并退出,然后执行以下命令启动php-fpm服务:

/usr/local/bin/php-fpm
Nach dem Login kopieren

  启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -ntlp | grep 9000 可以查看端口使用情况:

  

  9000端口正常使用,说明php-fpm服务启动成功

  然后执行 vim /usr/local/nginx/nginx.conf 编辑nginx配置文件,具体路径根据实际的nginx.conf配置文件位置编辑,下面主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:

  

  然后配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:

  

  这里面很多都是默认的,root是配置php程序放置的根目录,主要修改的就是fastcgi_param中的/scripts为$document_root

  修改完上面的,回到nginx.conf第一行,默认是#user nobody; 这里要去掉注释改为user www-data;或者user www-data www-data;表示nginx服务器的权限为www-data

  修改完这些保存并退出,然后重启nginx:

/usr/local/nginx/nginx -s stop
/usr/local/nginx/nginx
Nach dem Login kopieren

  接下来编辑一个测试的php程序,在nginx下的html目录下创建test.php文件,打印一下php配置:

<?php
    phpinfo();
?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo kompilieren und installieren Sie PHP7 aus dem Quellcode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage