Heim  >  Artikel  >  Backend-Entwicklung  >  So kompilieren und installieren Sie php5.6.31

So kompilieren und installieren Sie php5.6.31

藏色散人
藏色散人Original
2021-11-17 09:45:311712Durchsuche

So kompilieren und installieren Sie php5.6.31: 1. Epel-Quelle hinzufügen und php-5.6.31 herunterladen; 2. Das Installationspaket entpacken und installieren; 4. php-fpm starten; 5. Bearbeiten Sie die Nginx-Konfigurationsdatei und starten Sie den Nginx-Dienst neu.

So kompilieren und installieren Sie php5.6.31

Die Betriebsumgebung dieses Artikels: CentOS 7-System, PHP5.6.31-Version, DELL G3-Computer

Wie kompiliere und installiere ich PHP5.6.31?

CentOS 7 Kompilieren und installieren Sie PHP5.6.31

Da sich bereits Nginx und MySQL auf dem Server befinden, habe ich mich für die Kombination PHP+Nginx+MySQL entschieden , weil ich mit Linux und PHP nicht vertraut bin, aber ich weiß nicht, wie PHP mit Nginx und MySQL zusammenhängt. Ich bin auf verschiedene Gründe gestoßen (entweder wurde PHP falsch installiert oder das Paket wurde nicht installiert). Ich habe viel Zeit damit verbracht, später nach der Bereitstellung festzustellen, dass diese drei separat installiert werden müssen (nun ~ ~ kann es zusammen installiert werden), Sie müssen nach der Installation nur PHP konfigurieren und Nginx (mit PHP verknüpft) und Sie konfigurieren kann es direkt ausführen. Solange MySQL aktiviert ist und die Verbindungsdatenbank im PHP-Projekt konfiguriert ist, können Sie eine direkte Verbindung herstellen. Dieser Artikel zielt also hauptsächlich auf die Installation von PHP ab.

In Bezug auf die Installation von Nginx und MySQL müssen Sie einige Linux-Entwicklungsbibliotheken installieren, bevor Sie mit der Installation beginnen. Sie sind alle in den Referenzlinks aufgeführt.

Dieser Artikel bezieht sich hauptsächlich auf diesen Link-Blog: https://www.cnblogs.com/flower-tree/p/7562101.html

php-Version: 5.6.31

nginx-Version: 1.7.3

MySQL-Version: 5.6.62

PHP-Installationskonfiguration

nginx selbst kann PHP nicht verarbeiten, es ist nur ein WEB-Server. Wenn eine Anfrage empfangen wird, wird sie, wenn es sich um eine PHP-Anfrage handelt, zur Verarbeitung an den PHP-Interpreter gesendet Das Ergebnis wird an den Client zurückgegeben.

nginx sendet die Anfrage im Allgemeinen zur Verarbeitung an den Fastcgi-Verwaltungsprozess. Der Fastcgi-Verwaltungsprozess wählt den CGI-Unterprozess aus, um das Ergebnis zu verarbeiten, und gibt es an Nginx zurück.

Was ist PHP-FPM? PHP-FPM ist ein FASTCGI-Manager für PHP. Die neue Version verfügt über eine bessere PHP-Prozessverwaltung, kann Speicher und Prozesse effektiv steuern und PHP-Konfigurationen reibungslos neu laden. Bei der Konfiguration können Sie php-fpm mit dem Parameter -enable-fpm aktivieren. Weitere Informationen zu fastcgi und seiner Beziehung zu php-fpm finden Sie unter dem Link https://segmentfault.com/. q/1010000000256516 ) Entpacken Sie das Installationspaket nach /usr/local/src

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2) Geben Sie das Installationsverzeichnis ein und installieren Sie

yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-develyum -y install gcc gcc-c++ glibcyum -y install libmcrypt-devel mhash-devel libxslt-devel \
libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \
zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \
ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \
krb5 krb5-devel libidn libidn-devel openssl openssl-devel
cd /usr/local/srctar -zvxf php-5.6.31.tar.gz

Damit ist die Installation von php-fpm abgeschlossen.

Über die PHP-Konfiguration1. Stellen Sie Konfigurationsdateien für PHP bereit. fpm-Konfigurationsdatei

cd php-5.6.31./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt \--enable-mbstring --enable-pdo --with-curl --disable-debug  --disable-rpath \--enable-inline-optimization --with-bz2  --with-zlib --enable-sockets \--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \--with-gd --with-jpeg-dir --with-freetype-dir --enable-calendarmake && make install
Ändern Sie php-fpm.confuser = www

group = www

Wenn der www-Benutzer nicht existiert, fügen Sie zuerst den www-Benutzer hinzu (standardmäßig wird der Benutzer „Nobody“ ausgeführt)

CentOS 中下载php: wget http://php.net/get/php-5.6.30.tar.gz/from/this/mirror
Wenn dieser Schritt ausgeführt wird ist nicht konfiguriert, durchsuchen Der Server meldet einen Fehler beim Öffnen der PHP-Datei

„Die gesuchte Seite ist vorübergehend nicht verfügbar. Bitte versuchen Sie es später erneut“

Ändern

cp php.ini-production /usr/local/php/etc/php.ini
3

Ausführen

cd /usr/local/phpcp etc/php-fpm.conf.default etc/php-fpm.conf
vim etc/php-fpm.conf

Verwenden Sie den folgenden Befehl, um Positiv zu überprüfen (wenn in der Ausgabe dieses Befehls mehrere PHP-FPM-Prozesse vorhanden sind, bedeutet dies, dass der Start erfolgreich war):

groupadd www
useradd -g www www

Das Ergebnis ist wie folgt:


3. Integration von Nginx und PHP-FPM

Nginx-Konfigurationsdatei bearbeiten

pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pid = /usr/local/php/var/run/php-fpm.pid
Der anfängliche Inhalt ist wie folgt:

/usr/local/php/sbin/php-fpm

Alles, was wir zum Ändern der Konfiguration benötigen, ist der Teil

. Wechseln Sie in den VIM-Bearbeitungsmodus oder verwenden Sie FlashFXP, um die Konfigurationsdatei auf dem Desktop freizugeben und Änderungen vorzunehmen.

Es sind nur drei Änderungen erforderlich

ps aux | grep php-fpm
Starten Sie den Nginx-Server neu

vim /usr/local/nginx/conf/nginx.conf
Zu diesem Zeitpunkt wurden Nginx und PHP gemeinsam konfiguriert, aber wir kennen den tatsächlichen Konfigurationseffekt noch nicht Lassen Sie es uns überprüfen.

Wie bereits erwähnt, ist /usr/share/nginx/html das Stammverzeichnis der Nginx-Website. In diesem Verzeichnis können wir ein PHP-Testskript erstellen.

#phpinfo.php ist der Name der Datei, die ich erstellen möchte.

# nginx运行的用户名
user nginx;
# nginx启动进程,通常设置成和cpu的数量相等,这里为自动
worker_processes auto;

# errorlog文件位置
error_log /var/log/nginx/error.log;
# pid文件地址,记录了nginx的pid,方便进程管理
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
# 用来加载其他动态模块的配置
include /usr/share/nginx/modules/*.conf;

# 工作模式和连接数上限
events {
    # 每个worker_processes的最大并发链接数
    # 并发总数:worker_processes*worker_connections
    worker_connections 1024;
}

# 与提供http服务相关的一些配置参数类似的还有mail
http {
    # 设置日志的格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    # access_log记录访问的用户、页面、浏览器、ip和其他的访问信息
    access_log  /var/log/nginx/access.log  main;

    # 这部分下面会单独解释
    # 设置nginx是否使用sendfile函数输出文件
    sendfile            on;
    # 数据包最大时发包(使用Nagle算法)
    tcp_nopush          on;
    # 立刻发送数据包(禁用Nagle算法)
    tcp_nodelay         on;
    # 链接超时时间
    keepalive_timeout   65;
    # 这个我也不清楚...
    types_hash_max_size 2048;

    # 引入文件扩展名与文件类型映射表
    include             /etc/nginx/mime.types;
    # 默认文件类型
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    # http服务上支持若干虚拟主机。
    # 每个虚拟主机一个对应的server配置项
    # 配置项里面包含该虚拟主机相关的配置。
    server {
        # 端口
        listen       80 default_server;
        listen       [::]:80 default_server;
        # 访问的域名
        server_name  _;
        # 默认网站根目录(www目录)
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.

        include /etc/nginx/default.d/*.conf;

        # 默认请求
        location / {
        }

        # 错误页(404)
        error_page 404 /404.html;
            location = /40x.html {
        }

        # 错误页(50X)
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
}
Ich bin Die IP ist 192.168.0.222, Sie können sie in Ihre eigene ändern. Es erscheint eine Schnittstelle ähnlich der folgenden, wie in der Abbildung dargestellt:

Nginx und PHP wurden konfiguriert.

4. Gründe für Fehler im Installationsprozess

Als ich dem Installationsprozess gefolgt bin, ist ein Fehler aufgetreten: mcrypt.h nicht gefunden.

Dies liegt daran, dass die Pakete php-mcrypt, libmcrypt und libmcrypt-devel nicht installiert sind Fehlende Bibliotheken oder Pakete können sofort installiert werden.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo kompilieren und installieren Sie php5.6.31. 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