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
Lepaskan: 2023-05-28 15:01:06
ke hadapan
1638 orang telah melayarinya

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

Tambah sumber remi

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

Pasang dan kemas kini perisian

Pasang yum-config-manager utiliti

[root@opstrip.com opt]# yum -y install yum-utils
Salin selepas log masuk

Kemas kini versi perisian semasa sistem

[root@opstrip.com opt]# yum -y update
Salin selepas log masuk

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

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

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

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

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

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

Unzip

rreee

Pasang pakej bergantung

[root@opstrip.com opt]# tar xf php-7.1.5.tar.gz
Salin selepas log masuk

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

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

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

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

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

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

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

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

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

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

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

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!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan