Jadual Kandungan
konfigurasi pemasangan PHP
Tambah sumber epel
Pasang dependencies
Mengenai konfigurasi php
Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk menyusun dan memasang php5.6.31

Bagaimana untuk menyusun dan memasang php5.6.31

Nov 17, 2021 am 09:45 AM

Cara menyusun dan memasang php5.6.31: 1. Tambah sumber epel dan muat turun php-5.6.31 2. Buka zip pakej pemasangan dan pasangkannya 3. Ubah suai php-fpm.conf; php -fpm; 5. Edit fail konfigurasi nginx dan mulakan semula perkhidmatan nginx.

Bagaimana untuk menyusun dan memasang php5.6.31

Persekitaran pengendalian artikel ini: Sistem CentOS 7, versi php5.6.31, komputer DELL G3

Cara untuk menyusun dan pasang php5.6.31?

CentOS 7 Compile and install PHP5.6.31

Sudah ada nginx dan mysql pada pelayan, jadi saya memutuskan untuk menggunakan PHP Nginx mysql Kombinasi, saya membaca banyak maklumat di Internet Oleh kerana saya tidak tahu banyak tentang Linux dan PHP, saya tidak tahu bagaimana PHP berkaitan dengan nginx dan mysql tidak betul atau pakej itu tidak dipasang). nginx (dikaitkan dengan PHP) untuk dijalankan secara langsung. Bagi mysql, selagi ia dihidupkan dan pangkalan data sambungan dalam projek php dikonfigurasikan, anda boleh menyambung secara langsung. Jadi artikel ini tertumpu terutamanya pada pemasangan php.

Mengenai pemasangan nginx dan mysql, anda perlu memasang beberapa perpustakaan pembangunan Linux sebelum memulakan pemasangan, saya tidak akan mengulanginya di sini.

Artikel ini terutamanya merujuk kepada blog pautan ini: https://www.cnblogs.com/flower-tree/p/7562101.html

versi php: 5.6 . 31

versi nginx: 1.7.3

versi mysql: 5.6.62

konfigurasi pemasangan PHP

nginx sendiri tidak boleh mengendalikan PHP, ia hanya a WEB Apabila pelayan menerima permintaan, jika ia adalah permintaan PHP, ia akan dihantar kepada penterjemah PHP untuk diproses dan hasilnya akan dikembalikan kepada klien.

nginx secara amnya menghantar permintaan kepada proses pengurusan fastcgi untuk pemprosesan Proses pengurusan fastcgi memilih hasil pemprosesan sub-proses cgi dan mengembalikannya kepada nginx.

Apakah itu PHP-FPM? PHP-FPM ialah pengurus FASTCGI untuk PHP Ia hanya digunakan untuk PHP Versi baharu telah menyepadukan php-fpm menyediakan pengurusan proses php dengan berkesan, dan boleh memuatkan semula konfigurasi php. Apabila mengkonfigurasi, anda boleh mendayakan php-fpm dengan parameter -enable-fpm Parameter lain boleh didapati di sini Bagi apa itu fastcgi dan hubungannya dengan php-fpm, sila rujuk pautan https://segmentfault.com/. q/1010000000256516

Persediaan sebelum pemasangan

Tambah sumber epel

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

Pasang dependencies

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
Salin selepas log masuk

Muat turunphp-5.6. 31

1) Ekstrak pakej pemasangan ke /usr/local/src

cd /usr/local/srctar -zvxf php-5.6.31.tar.gz
Salin selepas log masuk

2) Masukkan direktori pemasangan dan pasang

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
Salin selepas log masuk
CentOS 中下载php: wget http://php.net/get/php-5.6.30.tar.gz/from/this/mirror
Salin selepas log masuk

Di atas menyelesaikan pemasangan php-fpm Proses pemasangan akan mengambil sedikit masa.

Mengenai konfigurasi php

1. Sediakan fail konfigurasi untuk php

cp php.ini-production /usr/local/php/etc/php.ini
Salin selepas log masuk

Nota: php.ini-production masih dalam /usr/local/src/php- 5.6.31 Direktori

2. Sediakan fail konfigurasi untuk php-fpm

cd /usr/local/phpcp etc/php-fpm.conf.default etc/php-fpm.conf
vim etc/php-fpm.conf
Salin selepas log masuk

Ubah suai php-fpm.conf

pengguna = www
kumpulan = www

Jika pengguna www tidak wujud, tambahkan pengguna www terlebih dahulu (pengguna lalai yang dijalankan ialah bukan sesiapa)

groupadd www
useradd -g www www
Salin selepas log masuk

Jika langkah ini tidak dikonfigurasikan, penyemak imbas akan melaporkan ralat semasa membuka fail php

“Halaman yang anda cari tidak tersedia buat sementara waktu Sila cuba lagi nanti”

Ubah suai

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
Salin selepas log masuk
.

3. Mulakan php- fpm

Laksanakan

/usr/local/php/sbin/php-fpm
Salin selepas log masuk

Gunakan arahan berikut untuk mengesahkan (jika terdapat beberapa proses php-fpm dalam output arahan ini, ia bermakna permulaan berjaya):

ps aux | grep php-fpm
Salin selepas log masuk

Hasilnya adalah seperti yang ditunjukkan di bawah:

3 Integrasi nginx dan php-fpm

Edit fail konfigurasi nginx

vim /usr/local/nginx/conf/nginx.conf
Salin selepas log masuk

Kandungan awal Seperti berikut:

# 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 {
        }
    }
}
Salin selepas log masuk

Apa yang kita perlukan untuk menukar konfigurasi ialah bahagian server. Masukkan mod pengeditan vim, atau gunakan FlashFXP untuk berkongsi fail konfigurasi ke desktop untuk membuat perubahan.

Hanya tiga perubahan diperlukan

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        # 这里改动了,也可以写你的域名,我用的是IP地址
        server_name  192.168.0.222;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            # 这里改动了 定义首页索引文件的名称
            index index.php index.html index.htm;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }

        # 这里新加的
        # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
        # Fastcgi服务器和程序(PHP,Python)沟通的协议.
        location ~ \.php$ {
            # 设置监听端口
            fastcgi_pass   127.0.0.1:9000;
            # 设置脚本文件请求的路径
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            # 引入fastcgi的配置文件
            include        fastcgi_params;
        }
    }
Salin selepas log masuk

Mulakan semula pelayan nginx

nginx -s reload
Salin selepas log masuk

Pada ketika ini, nginx dan php telah dikonfigurasikan bersama, tetapi kami tidak Mengetahui bagaimana konfigurasi sebenar berfungsi, kita boleh menulis skrip ujian kecil untuk mengesahkannya pada masa ini.
Seperti yang dinyatakan sebelum ini, /usr/share/nginx/html ialah direktori akar laman web Nginx Kami boleh mencipta skrip ujian php dalam direktori ini.

# phpinfo.php ialah nama fail yang saya ingin buat

vi /usr/share/nginx/html/phpinfo.php
Salin selepas log masuk

Selepas membuka editor, masukkan

<?php
phpinfo();// 测试信息?>
Salin selepas log masuk

Selepas menyimpan dan keluar, dalam pelayar Masukkan http://192.168.0.222/phpinfo.php IP saya di sini ialah 192.168.0.222 Anda boleh menukarnya kepada anda sendiri. Seperti yang ditunjukkan dalam rajah, antara muka yang serupa dengan yang berikut muncul:

Nginx dan php telah dikonfigurasikan.

4. Sebab ralat semasa proses pemasangan

Apabila saya memasang mengikut proses, ralat berlaku: mcrypt.h tidak ditemui Sila pasang semula libmcrypt

Sebabnya adalah kerana pakej php-mcrypt, libmcrypt, libmcrypt-devel tidak dipasang dan. ralat yang berlaku biasanya tiada Pustaka atau pakej, pasang sahaja.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk menyusun dan memasang php5.6.31. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan. PHP API Kadar Mengehadkan: Strategi Pelaksanaan. Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Apakah tujuan penyataan yang disediakan dalam PHP? Apakah tujuan penyataan yang disediakan dalam PHP? Mar 20, 2025 pm 04:47 PM

Kenyataan yang disediakan dalam PHP meningkatkan keselamatan pangkalan data dan kecekapan dengan mencegah suntikan SQL dan meningkatkan prestasi pertanyaan melalui kompilasi dan penggunaan semula.

Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Mar 20, 2025 pm 04:57 PM

Artikel membincangkan mendapatkan data dari pangkalan data menggunakan PHP, meliputi langkah, langkah keselamatan, teknik pengoptimuman, dan kesilapan umum dengan penyelesaian.

See all articles