Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menyusun dan memasang php5.6.31
Cara untuk menyusun dan memasang php5.6.31: 1. Tambah sumber epel; 3. Muat turun dan nyahmampatkan php5.6.31; Boleh.
Persekitaran pengendalian artikel ini: Sistem CentOS 7, versi php: 5.6.31 versi nginx: 1.7.3 versi mysql: 5.6.62, DELL G3 komputer
Bagaimana untuk menyusun dan memasang php5.6.31?
CentOS 7 Susun dan pasang PHP5.6.31:
Sudah ada nginx dan mysql pada pelayan, jadi saya memutuskan untuk menggunakan PHP Nginx mysql Untuk gabungan ini, saya membaca banyak maklumat di Internet Memandangkan saya tidak tahu banyak tentang Linux dan PHP, dan saya tidak tahu bagaimana PHP berkaitan dengan nginx dan mysql, saya menghadapi pelbagai sebab (. sama ada PHP dipasang secara tidak betul atau pakej tidak dipasang. Ia mengambil banyak masa, tetapi selepas penggunaan, saya mendapati bahawa ketiga-tiga ini dipasang secara berasingan (baik~~ bolehkah mereka dipasang bersama), anda hanya perlu mengkonfigurasi PHP selepas pemasangan, dan konfigurasikan nginx (dikaitkan dengan PHP). 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.
nginx sendiri tidak boleh mengendalikan PHP, ia hanyalah pelayan WEB Apabila permintaan diterima, jika ia adalah permintaan PHP, ia dihantar kepada penterjemah PHP untuk diproses dan hasilnya dikembalikan kepada pelanggan.
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
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
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.
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
user = www group = www
Jika pengguna www tidak wujud , Kemudian tambahkan pengguna www dahulu (default running user nobody)
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, ini 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.confKandungan awal adalah 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 { } } }Kami Untuk menukar konfigurasi, anda hanya memerlukan bahagian
server
. Masukkan mod pengeditan vim, atau gunakan FlashFXP untuk berkongsi fail konfigurasi ke desktop untuk membuat perubahan.
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 reloadPada 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.
vi /usr/share/nginx/html/phpinfo.phpSelepas membuka editor, masukkan
e2fef49b76a02e58cb8a935d1457623aSelepas 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:
Pada ketika ini PHP telah dikonfigurasikan, saya harap anda pemasangan yang lancar. By the way, saya mengucapkan Selamat Tahun Baru kepada anda semua terlebih dahulu!
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!