Heim >Backend-Entwicklung >PHP-Tutorial >Kompilieren und installieren Sie PHP unter Linux

Kompilieren und installieren Sie PHP unter Linux

不言
不言Original
2018-06-02 09:34:037082Durchsuche

Dieser Artikel stellt hauptsächlich die Kompilierung und Installation von PHP unter Linux vor. Jetzt kann ich ihn mit Ihnen teilen.

Kompiliert und installiert Ich habe den Server vor der PHP-Laufumgebung installiert, aber nach einer Weile nach der Installation habe ich ihn nur hier und da an einige einfache Schritte erinnert. Jetzt habe ich ihn erneut auf dem neuen Server installiert und den Installationsvorgang aufgezeichnet, um ihn später einfacher überprüfen zu können . Es dient auch als Referenz für Neulinge.

1. Laden Sie zunächst das PHP-Quellcode-Installationspaket herunter. Sie können es von der offiziellen PHP-Website herunterladen Option „Downloads“ in der Navigationsleiste, d. h. Sie können den Download-Server entsprechend der Region auswählen. Hier wähle ich cn2.php.net zum Herunterladen aus >

2. Nachdem der Download abgeschlossen ist, übertragen Sie den Quellcode mit dem häufig verwendeten FTP-Tool. Laden Sie das Paket auf den Server hoch, auf dem PHP installiert werden soll 🎜>

(Hinweis: Sie können das Linux-Datei-Download-Tool wget auch direkt zum Herunterladen unter Linux verwenden, in der Form für wget -O php-5.6.15.tar.gz http:// cn2.php.net/get/php-5.6.15.tar.gz/from/this/mirror, -O sollte hier zum Herunterladen verwendet werden. Benennen Sie die Datei, andernfalls lautet der Name der heruntergeladenen Datei „Mirror“. Sie können auch Sohus Mirror-Adresse zum Herunterladen verwenden: http://mirrors.sohu.com/php/***)

3. Entpacken Sie die komprimierte Datei

# tar -zxf php-5.6.15.tar.gz
4. Der vorherige Schritt

generiert das Verzeichnis php-5.6.15, gibt das Verzeichnis ein,

führt in diesem Verzeichnis ausführbare Dateien (die Zeilenumbrüche in Linux-Befehlen darstellen), MySQL und einige aus Andere Erweiterungsbibliotheken müssen vor der Installation installiert werden. Konkret können Sie die deinstallierten Erweiterungen entsprechend der Fehlermeldung während des Installationsvorgangs ergänzen

# ./configure \
--prefix=/usr/local/php-5.6.15 \
--with-config-file-path=/usr/local/php-5.6.15/etc \
--with-mysqli \
--with-xmlrpc \
--with-openssl \
--with-zlib \
--with-freetype-dir \
--with-png-dir \
--with-jpeg-dir \
--with-gd \
--with-iconv=/usr/local/libiconv \
--enable-sockets \
--enable-zend-multibyte \
--enable-soap \
--enable-mbstring \
--enable-static \
--enable-gd-native-ttf \
--with-mcrypt \
--with-mhash \
--with-curl \
--with-xsl \
--enable-ftp \
--with-libxml-dir \
--enable-pcntl \
--enable-bcmath \
--enable-fpm
Die entsprechende Erklärung lautet wie folgt:

--prefix=/usr/local/php-5.6.15 \ (指定PHP的安装目录)
--with-apxs2=/usr/sbin/apxs \ (使PHP支持Apache服务器,使用yum安装Apache时,apxs默认在usr/sbin/目录下)
--with-config-file-path=/usr/local/php-5.6.12/etc \ (指定PHP的配置文件php.ini目录)
--with-mysqli[=DIR] \ (指定mysqli的安装路径,使PHP支持mysqli,PHP最新版本已经不再支持mysql扩展了)
--with-xmlrpc \ (使PHP支持XML-RPC,即XML远程方法调用)
--with-openssl \ (使PHP编译安装openssl模块,加密传输https时用到的)
--with-zlib[=DIR] \ (配置gd库的支持包zlib,zlib是提供数据压缩用的函式库)
--with-freetype-dir[=DIR] \ (配置gd库的支持包freetype,FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎)
--with-png-dir[=DIR] \ (配置gd库的支持包libpng)
--with-jpeg-dir[=DIR] \ (配置gd库的支持包libjpeg)
--with-gd \ (静态编译gd库)
--with-iconv=/usr/local/libiconv \ (iconv命令可以将一种已知的字符集文件转换成另一种已知的字符集文件)
--enable-sockets \ (打开对socket的支持)
--enable-zend-multibyte \ (支持zend的多字节)
--enable-soap \ (打开对soap的支持,简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上交换结构化的和固化的信息)
--enable-mbstring \ (打开对多字节多字符串的支持)
--enable-static \ (生成静态链接库,在编译过程中,就将静态库中的代码载入程序,由此生成出的可执行程序在运行中不再需要静态库,但因为库中的程序代码被复制进目标程序中,因此生成的程序体积会比较大)
--enable-gd-native-ttf \  (支持TrueType字符串函数库)
--with-mcrypt \ (mcrypt算法扩展)
--with-mhash \  (mhash算法扩展)
--with-curl \ (打开curl浏览工具的支持)
--with-xsl \ (打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件)
--enable-ftp \ (打开对ftp的支持)
--with-libxml-dir \ (打开libxml2库的支持)
--enable-pcntl \ (扩展可以支持php的多线程操作)
--enable-bcmath \ (打开图片大小调整,用到zabbix监控的时候用到了这个模块)
--enable-fpm (打开对php-fpm的支持)

(Hinweis: Die oben genannten Konfigurationsoptionen für die Kompilierung und Installation sind relativ vollständig und können selektiv konfiguriert werden, es gibt jedoch auch einige Die Konfigurationsoptionen sind nicht angegeben. Darüber hinaus

Da PHP die GD-Bibliothek integriert hat, ist die Voraussetzung, dass das Support-Paket im Voraus installiert werden sollte, wie zlib, PNG, JPEG, Freetype usw Wenn die Erweiterung nicht installiert ist, verwenden Sie yum oder laden Sie das Quellcodepaket herunter, um es manuell zu kompilieren und zu installieren. 6. Die PHP-Installation ist abgeschlossen , konfigurieren und eingeben /usr In /local/php-5.6.15/etc wird festgestellt, dass sich derzeit keine php.ini-Datei im Installationspaketverzeichnis befindet /tmp/php-. 5.6.15 sollte nach /usr/local /php-5.6.15/etc kopiert werden Weiter

# cp /tmp/php-5.6.15/php.ini-production php.ini
(Hinweis: php.ini-development eignet sich für Entwicklungsprogramme, d. h. zum Testen, php.ini-produktion hat höhere Sicherheit Wenn die Konfiguration für die Verwendung als Online-Produkt geeignet ist, ändern Sie im Allgemeinen php.ini-produktion in php.ini, um sicherzustellen, dass die Testumgebung (lokal) mit der offiziellen Umgebung (online) übereinstimmt wird hier erklärt.)

7. Fügen Sie /usr/local/php-5.6.15/bin

zum System hinzu Umgebungsvariablen zur Vereinfachung Verwenden Sie Befehle wie php und phpize

# vi /etc/profile
und fügen Sie export PATH="$PATH:/usr/local/php-5.6.15/bin" hinzu das Ende der geöffneten Datei, starten Sie das System neu

8. Führen Sie PHP aus. Der Vorgang entspricht dem Ausführen von PHP-FPM 🎜>

# /usr/local/php-5.6.15/bin/php-fpm -c /usr/local/php-5.6.15/etc/php.ini -y /usr/local/php-5.6.15/etc/php-fpm.conf

最后,简单说下PHP的开机启动设置,因为一般的开机启动软件都应该被作为一项系统服务保存在 /etc/rc.d/init.d 中,所以php-fpm也应该作为一个可运行文件存在于该目录下(与MySQL的mysqld以及Apache的httpd相似),然而进入该目录下并未发现php-fpm,没关系,那我们就自己写一个脚本吧。具体脚本如下,可以直接在 /etc/rc.d/init.d 下新建一个php-fpm文件,复制下面代码,修改响应配置与自己所安装的PHP环境相同即可。

#!/bin/bash
#
# Startup script for the PHP-FPM server.
#
# chkconfig: 345 85 15
# description: PHP is an HTML-embedded scripting language
# processname: php-fpm
# config: /usr/local/php-5.6.15/etc/php.ini
 
# Source function library.
. /etc/rc.d/init.d/functions
 
PHP_PATH=/usr/local/php-5.6.15
DESC="php-fpm daemon"
NAME=php-fpm
# php-fpm路径
DAEMON=$PHP_PATH/sbin/$NAME
# 配置文件路径
CONFIGFILE=$PHP_PATH/etc/php-fpm.conf
# PID文件路径(在php-fpm.conf设置)
PIDFILE=$PHP_PATH/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
 
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
 
rh_start() {
  $DAEMON -y $CONFIGFILE || echo -n " already running"
}
 
rh_stop() {
  kill -QUIT `cat $PIDFILE` || echo -n " not running"
}
 
rh_reload() {
  kill -HUP `cat $PIDFILE` || echo -n " can't reload"
}
 
case "$1" in
  start)
        echo -n "Starting $DESC: $NAME"
        rh_start
        echo "."
        ;;
  stop)
        echo -n "Stopping $DESC: $NAME"
        rh_stop
        echo "."
        ;;
  reload)
        echo -n "Reloading $DESC configuration..."
        rh_reload
        echo "reloaded."
  ;;
  restart)
        echo -n "Restarting $DESC: $NAME"
        rh_stop
        sleep 1
        rh_start
        echo "."
        ;;
  *)
         echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
         exit 3
        ;;
esac
exit 0

之后可以通过使用service 命令进行操作

# service php-fpm start 启动php-fpm,
# service php-fpm stop 关闭php-fpm,
# service php-fpm restart重启php-fpm

使用chkconfig 命令添加、删除和查看系统开机自启动服务

# chkconfig --list 显示开机可以自动启动的服务 
# chkconfig --add php-fpm 添加开机自动启动php-fpm服务 
# chkconfig --del php-fpm 删除开机自动启动php-fpm服务

好了,关于PHP的安装基本上就完成啦~

Das obige ist der detaillierte Inhalt vonKompilieren und installieren Sie PHP unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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