首頁 後端開發 PHP7 yum php7.1怎麼增加擴展

yum php7.1怎麼增加擴展

Dec 31, 2021 am 09:22 AM
yum

yum php7.1增加擴充的方法:1、透過yum安裝php7.1;2、透過「yum -y install php-mysql php-gd php-ldap php-odbc...」指令加入PHP常用擴充功能即可。

yum php7.1怎麼增加擴展

本文操作環境:centos7系統、PHP7.1版、DELL G3電腦

yum php7.1怎麼增加擴充?

CentOS 7下部署php7.1與開啟MySQL擴充的方法教學

前言

之前在CentOS7安裝php7.1的時候有遇到PHP來源及PHP7.1不支援MySQL擴充問題,早上抽空安裝了下終於解決了這兩個問題,特此記錄備忘。

簡單安裝(yum方式)

安裝軟體來源

新增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
登入後複製

新增remi來源

[root@opstrip.com opt]# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
登入後複製

安裝並更新軟體

安裝yum-config-manager實用程式

[root@opstrip.com opt]# yum -y install yum-utils
登入後複製

更新系統目前軟體版本

[root@opstrip.com opt]# yum -y update
登入後複製

更新完成後,就可以安裝所需的PHP版本了。

安裝PHP

以上準備工作完成後,就可以安裝所需的PHP版本了。

對於PHP5.4

[root@opstrip.com opt]# yum -y install php
登入後複製

安裝前可嘗試yum search php54搜尋可安裝的軟體包。

對於PHP7.0

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

安裝前可嘗試yum search php70搜尋可安裝的軟體包。

對於PHP7.1

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

安裝前可嘗試yum search php71搜尋可安裝的軟體包。

完成後也需要加入PHP常用擴充:

[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
登入後複製

對於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
登入後複製

安裝前仍建議嘗試yum search nginx搜尋可安裝的軟體套件。

安裝完成後設定PHP及Nginx並啟動用以測試phpinfo頁面,這時候應該可以正常顯示。

原始碼編譯安裝

安裝前的準備

下載PHP安裝套件

[root@opstrip.com opt]# wget -O php-7.1.5.tar.gz http://cn2.php.net/distributions/php-7.1.5.tar.gz
登入後複製

解壓縮

[root@opstrip.com opt]# tar xf php-7.1.5.tar.gz
登入後複製

安裝依賴套件

[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
登入後複製

設定安裝

編譯設定

[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
登入後複製

具體可以參考PHP官方安裝說明文件:http://php.net/manual/zh/install.unix.nginx.php

編譯安裝

[root@opstrip.com php-7.1.5]# make && make install
登入後複製

設定環境變數: 

在/etc/profile最後追加export PATH=$PATH:/usr/local/php/bin,然後執行source / etc/profile生效後查看php版本:

[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
登入後複製

安裝後的設定

設定php-fpm 

安裝完成後可以透過sapi/fpm/php-fpm.server來啟動php-fpm了。不過為了日後管理方便,通常需要將設定檔統一放到/etc目錄下,並將php-fpm.server新增至systemctl服務。如下:

[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/
登入後複製

然後更改/usr/lib/systemd/system/php-fpm.service檔案使其執行正確的路徑,如下:

[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
登入後複製

啟動php-fpm 

第一次透過systemctl啟動PHP服務時需要先將php-fpm服務enable:

[root@opstrip.com php-7.1.5]# systemctl enable php-fpm.service
[root@opstrip.com php-7.1.5]# systemctl start php-fpm.service
登入後複製

#編譯安裝Nginx

詳見這篇文章,並根據需要設定並啟動Nginx。這裡就不在寫了。

開啟MySQL擴充(僅編譯安裝)

由於PHP7已經完全移除了MySQL的擴充支援(由mysqli與mysqlnd取代),因此有些舊的軟體在升級PHP版本後會報類似mysql_connect()函數未定義的錯誤,一般建議使用新的PHPmysqli或pdo擴充進行替換。當然也可以檢出遺留版本的支援MySQL擴充的PHP7程式碼自行編譯安裝了,不過要注意的就是MySQL擴充功能可是完全沒有後續更新的了。

安裝前準備

查看目前擴充

 查看目前PHP7.1自帶擴充功能:

[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
登入後複製

可以看到MySQL擴充確實已經移除了,我們可以直接在ext目錄下檢出舊的PHP MySQL擴充程式碼。

取得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.
登入後複製

編譯安裝MySQL擴充功能

使用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
登入後複製

安裝

[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
登入後複製

安裝完成後需確認MySQL擴充安裝是否正確。

最後修改php.ini設定文件,增加一行:

extension = "mysql.so"
登入後複製

重新啟動php-fpm服務就能在phpinfo裡看到MySQL擴充了: 

yum php7.1怎麼增加擴展

–本配置完。

推薦學習:《PHP影片教學

以上是yum php7.1怎麼增加擴展的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1327
25
PHP教程
1273
29
C# 教程
1253
24
詳解CentOS6.5使用yum升級gcc的步驟 詳解CentOS6.5使用yum升級gcc的步驟 Dec 31, 2023 am 10:59 AM

因為需要用到C++11,但CentOS自備的gcc4.4.7不支持,所以決定升級gcc。操作如下:#備份mv/etc/yum.repos.d/devtools-2.repo/etc/yum.repos.d/devtools-2.repo.bakwgethttp://people.centos.org/tru/devtools-2 /devtools-2.repo-O/etc/yum.repos.d/devtools-2.repoyuminstalldevtoolset-2-gccdevtoolse

centos離線安裝中文版GitLab centos離線安裝中文版GitLab Feb 19, 2024 am 11:36 AM

1.下載gitlab安裝包從【清華大學開源軟體鏡像站】下載最新中文版gitlab安裝包,安裝包裡自帶了簡體中文漢化包。從【gitlab官網】下載gitlab最新安裝包。 2.安裝gitlab以gitlab-ce-14.9.4-ce.0.el7.x86_64為例,上傳至centos伺服器使用yum安裝gitlabyum-yinstallgitlab-ce-14.3.2-ce.0.el7.x86_64. rpm使用yum安裝gityum-yinstallgit#安裝git修改gitlab設定檔vi

linux怎麼使用yum安裝php linux怎麼使用yum安裝php Jan 29, 2023 am 09:46 AM

linux使用yum安裝php的方法:1.執行「mkdir /usr/local/php」指令;2、下載yum來源的更新安裝套件;3、安裝相關yum來源安裝套件;4、透過「yum install」指令安裝php即可。

Linux套件管理工具yum和apt有什麼差別 Linux套件管理工具yum和apt有什麼差別 May 30, 2023 am 09:53 AM

一般來說著名的Linux系統基本上分為兩大類:RedHat系列:Redhat、Centos、Fedora等;Debian系列:Debian、Ubuntu等。 yum(YellowdogUpdater,Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟體套件管理器。 apt(AdvancedPackagingTool)是一個在Debian和Ubuntu中的Shell前端軟體套件管理器。概述一般來說著名的Linux系統基本上分為兩大類:RedHat系列:Redhat、Cento

centos7+yum怎麼刪除php centos7+yum怎麼刪除php Jan 19, 2023 am 10:00 AM

centos7 yum刪除php的方法:1、透過「php-v」查看PHP版本;2、使用「rpm -qa|grep php」查看已安裝的PHP相關擴充;3、執行「yum remove php」指令卸載php即可。

linux yum是什麼工具 linux yum是什麼工具 Feb 10, 2023 am 10:09 AM

在linux中,yum是一個專門為了解決包的依賴關係而存在的軟體包管理器;yum是改進型的RPM軟體管理器,它很好的解決了RPM所面臨的軟體包依賴問題。當管理員使用yum安裝RPM套件時,yum會先從伺服器端下載套件的依賴性文件,透過分析此文件從伺服器端一次下載所有相關的RPM套件並進行安裝。

【Linux工具】-yum/gdb使用教學! 【Linux工具】-yum/gdb使用教學! Mar 07, 2024 am 11:10 AM

yum是一種常用的軟體包管理工具,而gdb是一種強大的偵錯工具。以下是它們的使用教學:yum使用教學課程:安裝軟體包:使用yuminstall指令安裝軟體包。例如,要安裝ApacheWeb伺服器,可以執行yuminstallhttpd。升級軟體包:使用yumupdate指令升級已安裝的軟體包。例如,執行yumupdate將升級系統中的所有軟體包。移除軟體包:使用yumremove命令移除軟體包。例如,要刪除ApacheWeb伺服器,可以執行yumremovehttpd。搜尋軟體包:使用yumsear

探索Linux Yum工具:簡單介紹與實用指南 探索Linux Yum工具:簡單介紹與實用指南 Feb 26, 2024 am 10:00 AM

在當今數位化時代,電腦科學領域的科技日新月異,而作業系統作為電腦軟體系統的核心,也不斷演進和創新。其中,Linux作為一個開源的作業系統,受到了廣泛的關注和應用。而在Linux系統中,Yum工具作為一個套件管理器,在軟體的安裝、刪除和更新方面起著至關重要的作用。本文將對Yum工具進行簡要介紹,並提供使用指南,幫助讀者更好地利用此工具來管理Linux系統

See all articles