Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menggunakan php7.1 dan mendayakan sambungan MySQL di bawah CentOS7
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
rreeePasang 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:
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!