Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menambah sambungan kepada yum php7.1
Cara menambah sambungan pada yum php7.1: 1. Pasang php7.1 hingga yum 2. Tambah melalui "yum -y install php-mysql php-gd php-ldap php-odbc... " perintah Sambungan PHP biasa sudah memadai.
Persekitaran pengendalian artikel ini: sistem centos7, versi PHP7.1, komputer DELL G3
Cara menambah sambungan pada yum php7.1?
Tutorial tentang cara menggunakan php7.1 dan mendayakan sambungan MySQL di bawah CentOS 7
Kata Pengantar
Pemasangan sebelumnya daripada php7.1 pada CentOS7 Kadang-kadang saya menghadapi masalah bahawa sumber PHP dan PHP7.1 tidak menyokong sambungan MySQL. Saya meluangkan masa untuk memasangnya pada waktu pagi dan akhirnya menyelesaikan kedua-dua masalah ini.
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 utiliti yum-config-manager
[root@opstrip.com opt]# yum -y install yum-utils
Kemas kini versi perisian semasa sistem
[root@opstrip.com opt]# yum -y update
Selepas kemas kini selesai , anda boleh memasang semua versi PHP 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 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 yang boleh dipasang pakej perisian sebelum 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
Nyahzipkannya
[root@opstrip.com opt]# tar xf php-7.1.5.tar.gz
Pasang Pakej dependencies
[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
Konfigurasi dan pemasangan
Kompilasi konfigurasi
[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
Untuk butiran, sila rujuk arahan pemasangan rasmi PHP: http://php .net/manual/zh/ install.unix.nginx.php
Kompil dan pasang
[root@opstrip.com php-7.1.5]# make && make install
Konfigurasikan pembolehubah persekitaran:
Tambahkan PATH eksport=$PATH:/ usr/ pada penghujung /etc/profile local/php/bin, dan kemudian laksanakan sumber /etc/profile untuk menyemak versi php selepas ia berkuat kuasa:
[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
Konfigurasi selepas pemasangan
Konfigurasikan php-fpm
Pemasangan selesai Kemudian 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]# 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/
Kemudian tukar fail /usr/lib/systemd/system/php-fpm.service untuk melaksanakan laluan yang betul, seperti berikut:
[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
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]# systemctl enable php-fpm.service [root@opstrip.com php-7.1.5]# systemctl start php-fpm.service
Kompil dan pasang Nginx
Lihat artikel ini untuk butiran, dan ikuti Nginx perlu dikonfigurasikan dan dimulakan. 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), sesetengah perisian lama akan Jika ralat serupa dengan itu mysql_connect( ) fungsi tidak ditakrifkan dilaporkan, secara amnya disyorkan untuk menggunakan sambungan PHP mysqli 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
Semak sambungan terbina dalam PHP7.1 semasa:
[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
Anda boleh melihat bahawa Sambungan MySQL sememangnya telah Dialih keluar, kita boleh menyemak kod sambungan PHP MySQL lama secara terus dalam direktori ext.
Dapatkan kod sumber sambungan PHP MySQL
[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.
Kompilasi dan pasang sambungan MySQL
Kompilasi menggunakan phpize
[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
Pasang
[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
Selepas pemasangan selesai, anda perlu mengesahkan sama ada sambungan MySQL dipasang dengan betul.
Akhir sekali ubah suai fail konfigurasi php.ini dan tambah baris:
extension = "mysql.so"
Mulakan semula perkhidmatan php-fpm dan anda akan melihat sambungan MySQL dalam phpinfo:
–Konfigurasi ini selesai.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menambah sambungan kepada yum php7.1. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!