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
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
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:
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
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
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
Die Kompilierungszeit kann etwas lang sein. Nachdem die Kompilierung abgeschlossen ist, führen Sie die Installation aus:
make install
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
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
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
默认user和group的设置为nobody,将其改为www-data
修改完成之后,保存并退出,然后执行以下命令启动php-fpm服务:
/usr/local/bin/php-fpm
启动完毕之后,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
接下来编辑一个测试的php程序,在nginx下的html目录下创建test.php文件,打印一下php配置:
<?php phpinfo(); ?>
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!