Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menggunakan php7.1 dan mendayakan sambungan MySQL di bawah CentOS7

Bagaimana untuk menggunakan php7.1 dan mendayakan sambungan MySQL di bawah CentOS7

WBOY
WBOYke hadapan
2023-05-28 15:01:061624semak imbas

Pemasangan mudah (kaedah yum)

Pasang sumber perisian

Tambah sumber epel

[root@opstrip.com opt]# rpm --import /etc/pki/rpm-gpg/rpm-gpg-key*
[root@opstrip.com opt]# rpm -uvh http://mirrors.rit.edu/fedora/epel//7/x86_64/e/epel-release-7-9.noarch.rpm

Tambah sumber remi

[root@opstrip.com opt]# rpm -uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Pasang dan kemas kini perisian

Pasang yum-config-manager utiliti

[root@opstrip.com opt]# yum -y install yum-utils

Kemas kini versi perisian semasa sistem

[root@opstrip.com opt]# yum -y update

Kemas kini Setelah selesai, anda boleh memasang versi php yang diperlukan.

Pasang php

Selepas persediaan di atas selesai, anda boleh memasang versi php yang diperlukan.

Untuk php5.4

[root@opstrip.com opt]# yum -y install php

Anda boleh mencuba yum search php54 untuk mencari pakej perisian yang boleh dipasang sebelum pemasangan.

Untuk php7.0

[root@opstrip.com opt]# yum-config-manager --enable remi-php70
[root@opstrip.com opt]# yum -y install php php-opcache

Anda boleh mencuba yum search php70 untuk mencari pakej perisian yang boleh dipasang sebelum pemasangan.

Untuk php7.1

[root@opstrip.com opt]# yum-config-manager --enable remi-php71
[root@opstrip.com opt]# yum -y install php php-opcache

Anda boleh mencuba yum search php71 untuk mencari pakej perisian yang boleh dipasang sebelum pemasangan.

Selepas selesai, anda juga perlu menambah sambungan php biasa:

[root@opstrip.com opt]# yum -y install php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel

Untuk nginx

[root@opstrip.com opt]# yum -y install nginx nginx-mod-http-perl nginx-mod-stream nginx-filesystem nginx-mod-mail nginx-mod-http-image-filter nginx-all-modules nginx-mod-http-geoip nginx-mod-http-xslt-filter

Ia masih disyorkan untuk mencuba yum search nginx untuk mencari pakej perisian yang boleh dipasang sebelum ini pemasangan.

Selepas pemasangan selesai, konfigurasikan php dan nginx dan mulakannya untuk menguji halaman phpinfo Ia sepatutnya dipaparkan seperti biasa pada masa ini.

Kompilasi dan pemasangan kod sumber

Persediaan sebelum pemasangan

Muat turun pakej pemasangan php

[root@opstrip.com opt]# wget -o php-7.1.5.tar.gz http://cn2.php.net/distributions/php-7.1.5.tar.gz

Unzip

rreee

Pasang pakej bergantung

[root@opstrip.com opt]# tar xf php-7.1.5.tar.gz

Konfigurasikan pemasangan

Kompilasi konfigurasi

[root@opstrip.com php-7.1.5]# yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

Untuk butiran, sila rujuk arahan pemasangan PHP rasmi:

Kompil dan pasang

[root@opstrip.com opt]# cd php-7.1.5
[root@opstrip.com php-7.1.5]# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache

Konfigurasikan pembolehubah persekitaran:

Tambah export path=$path:/usr/local/php/bin pada penghujung /etc/profile, dan kemudian laksanakan source /etc/profile Semak versi php selepas berkuat kuasa:

[root@opstrip.com php-7.1.5]# make && make install

Konfigurasi selepas pemasangan

Konfigurasi php-fpm

Selepas pemasangan selesai, anda boleh mulakan php-fpm melalui sapi/fpm/php-fpm.server. Walau bagaimanapun, untuk kemudahan pengurusan masa hadapan, biasanya perlu meletakkan fail konfigurasi dalam direktori /etc dan menambah php-fpm.server pada perkhidmatan systemctl. Seperti berikut:

[root@opstrip.com php-7.1.5]# php -v
php 7.1.5 (cli) (built: may 31 2017 16:12:38) ( nts )
copyright (c) 1997-2017 the php group
zend engine v3.1.0, copyright (c) 1998-2017 zend technologies

Kemudian tukar fail /usr/lib/systemd/system/php-fpm.service untuk melaksanakan laluan yang betul, seperti berikut:

[root@opstrip.com php-7.1.5]# mkdir -p /etc/php-fpm.d
[root@opstrip.com php-7.1.5]# cp php.ini-production /etc/php.ini
[root@opstrip.com php-7.1.5]# cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/
[root@opstrip.com php-7.1.5]# cp sapi/fpm/www.conf /etc/php-fpm.d/

Mulakan php-fpm

Apabila memulakan perkhidmatan php melalui systemctl buat kali pertama, anda perlu mendayakan perkhidmatan php-fpm terlebih dahulu:

[root@opstrip.com php-7.1.5]# vi /usr/lib/systemd/system/php-fpm.service
# it's not recommended to modify this file in-place, because it
# will be overwritten during upgrades. if you want to customize,
# the best way is to use the "systemctl edit" command.
 
[unit]
description=the php fastcgi process manager
after=network.target
 
[service]
type=simple
pidfile=/var/run/php-fpm.pid
execstart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /etc/php-fpm.conf
execreload=/bin/kill -usr2 $mainpid
privatetmp=true
 
[install]
wantedby=multi-user.target

Kompil dan pasang nginx

Lihat butiran, dan konfigurasikan dan mulakan nginx seperti yang diperlukan. Saya tidak akan menulisnya di sini.

Dayakan sambungan mysql (kompil dan pasang sahaja)

Memandangkan php7 telah mengalih keluar sepenuhnya sokongan sambungan mysql (digantikan oleh mysqli dan mysqlnd), beberapa perisian lama Selepas menaik taraf php versi, ralat yang serupa dengan fungsi mysql_connect() yang tidak ditentukan akan dilaporkan. Biasanya disyorkan untuk menggunakan sambungan phpmysqli atau pdo baharu untuk menggantikannya. Sudah tentu, anda juga boleh menyemak versi lama kod php7 yang menyokong sambungan mysql dan menyusun dan memasangnya sendiri Walau bagaimanapun, perlu diperhatikan bahawa sambungan mysql tidak mempunyai kemas kini berikutnya.

Persediaan sebelum pemasangan

Lihat sambungan semasa
Lihat sambungan terbina dalam php7.1 semasa:

[root@opstrip.com php-7.1.5]# systemctl enable php-fpm.service
[root@opstrip.com php-7.1.5]# systemctl start php-fpm.service

Anda boleh melihatnya sambungan mysql sememangnya telah dialih keluar, kita boleh terus menyemak kod sambungan php mysql lama dalam direktori ext.

Dapatkan kod sumber sambungan mysql php

[root@opstrip.com php-7.1.5]# ls ext
bcmath  dom     gd   json  oci8   pdo_firebird posix   skeleton sysvsem  xmlwriter
bz2   enchant    gettext  ldap  odbc   pdo_mysql  pspell  snmp  sysvshm  xsl
calendar  exif    gmp   libxml  opcache  pdo_oci   readline  soap  tidy   zip
com_dotnet ext_skel   hash   mbstring openssl  pdo_odbc  recode  sockets  tokenizer zlib
ctype   ext_skel_win32.php iconv  mcrypt  pcntl  pdo_pgsql  reflection spl   wddx
curl   fileinfo   imap   mysql  pcre   pdo_sqlite  session  sqlite3  xml
date   filter    interbase mysqli  pdo   pgsql   shmop   standard xmlreader
dba   ftp     intl   mysqlnd  pdo_dblib phar   simplexml  sysvmsg  xmlrpc

Kompil dan pasang sambungan mysql

Gunakan phpize untuk menyusun

[root@opstrip.com ext]# git clone https://github.com/php/pecl-database-mysql mysql --recursive
cloning into 'mysql'...
remote: counting objects: 145, done.
remote: total 145 (delta 0), reused 0 (delta 0), pack-reused 145
receiving objects: 100% (145/145), 88.41 kib | 0 bytes/s, done.
resolving deltas: 100% (65/65), done.
checking connectivity... done.

Pasang

[root@opstrip.com ext]# cd mysql
[root@opstrip.com mysql]# ls
config.m4 config.w32 credits license mysql.mak mysql_mysqlnd.h package.xml php_mysql.c php_mysql.h php_mysql_structs.h readme.md tests
[root@opstrip.com mysql]# /usr/local/php/bin/phpize
configuring for:
php api version:   20151012
zend module api no:  20151012
zend extension api no: 320151012
[root@opstrip.com mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config

Selepas pemasangan selesai, anda perlu mengesahkan sama ada sambungan mysql dipasang dengan betul.

Akhirnya ubah suai fail konfigurasi php.ini dan tambah baris:

[root@opstrip.com mysql]# make && make install
[root@opstrip.com mysql]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
mysql.so opcache.a opcache.so

Mulakan semula perkhidmatan php-fpm dan anda akan melihat sambungan mysql dalam phpinfo:

Bagaimana untuk menggunakan php7.1 dan mendayakan sambungan MySQL di bawah CentOS7

Atas ialah kandungan terperinci Bagaimana untuk menggunakan php7.1 dan mendayakan sambungan MySQL di bawah CentOS7. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam