Bagaimana untuk menyusun dan memasang php5.6.31
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.
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
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
Muat turunphp-5.6. 31
1) Ekstrak pakej pemasangan ke /usr/local/src
cd /usr/local/srctar -zvxf php-5.6.31.tar.gz
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
CentOS 中下载php: wget http://php.net/get/php-5.6.30.tar.gz/from/this/mirror
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
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
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
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
3. Mulakan php- fpm
Laksanakan
/usr/local/php/sbin/php-fpm
Gunakan arahan berikut untuk mengesahkan (jika terdapat beberapa proses php-fpm dalam output arahan ini, ia bermakna permulaan berjaya):
ps aux | grep php-fpm
Hasilnya adalah seperti yang ditunjukkan di bawah:
3 Integrasi nginx dan php-fpm
Edit fail konfigurasi nginx
vim /usr/local/nginx/conf/nginx.conf
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 { } } }
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; } }
Mulakan semula pelayan nginx
nginx -s reload
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
Selepas membuka editor, masukkan
<?php phpinfo();// 测试信息?>
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

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.

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.

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.

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.

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

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

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