mysqli擴充套件無法在PHP7下公升級問題的解決

2022-09-27 06:15:05 字數 1940 閱讀 7130

前言

這幾天在想部署乙個oauth服務,找了乙個php的開源實現,由於要求的php版本比較高,就打算在自己的ecwww.cppcns.coms上(php7.1)先測試下,沒想到遇到了一些問題。

首先發現mysqli擴充套件沒有裝(mysql擴充套件在php7中已經廢棄了),原來php7是使用ondrej/php源安裝的,可執行 apt-cache search php7 | grep mysql 居然發現沒有任何的mysql擴充套件,包括連php-memcached擴充套件也沒有,可實際上該擴充套件我已經安裝了。

百思不得其解,我仔細檢視了ondrej/php ppa的頁面 發現這個ppa包已經不支援ubuntu14.4了(而我的機器目前正好是此版本),如下圖:

為了驗證這一點,我在同事的ubuntu16下裝了ondrej/php包,進行測試:

$ apt-cache policy php7.3

php7.3:

installed: (none)

candidate: 7.3.7-2+ubuntu16.04.1+deb.sury.org+1

version table:

7.3.7-2+ubuntu16.04.1+deb.sury.org+1 500

500 xenial/main i386 packages

$ apt-cache policy php-memcached

php-memcached:

installed: (none)

candidate: 3.1.3+2.2.0-1+ubuntu16.04.1+deb.sury.org+1

version table:

3.1.3+2.2.0-1+ubuntu16.04.1+deb.sury.org+1 500

500 xenial/main i386 packages

2.2.0-51-ge573a6e+2.2.0-2build2 500

500 xenial/universe i386 packages

從中可以看出ondrej/php包在ubuntu16下可以安裝php7.3,同時也包含php-memcached擴充套件。

驗證ondrej/php不支援ubuntu14後,我找了乙個php ppa包serp2002/php7-backport,在安裝之前我先解除安裝了ondrej/php包:

$ lc_all=c.utf-8 add-apt-repository --remove ppa:ondrej/php

然後:$ ap程式設計客棧t-cache show php7.3-mysql

package: php7.3-mysql

source: php7.3

priority: optional

section: php

installed-size: 403

maintainer: debian php maintainers

architecture: i386

version: 7.3.7vazplhu-2+ubuntu16.04.1+deb.sury.org+1

provides: php-mysqli, phpvazplhu-mysqlnd, php-pdo-mysql, php7.3-mysqli, php7.3-mysqlnd, php7.3-pdo-mysql

可見 php7.3-mysql 這個包實際上包含了很多mysql相關的包,比如 mysqli或pdo,如果你單獨安裝其中乙個:

$ apt-get install php7.3-mysqli

n: can't select versions from package 'php7.3-mysqli' as it is purely virtual

n: no packages found

會提示你php7.3-mysqli是乙個虛擬的包。最終順利安裝完成。

總結本文標題: mysqli擴充套件無法在php7下公升級問題的解決

本文位址:

php7 安裝mysqli例項講解

centos php7 安裝mysql擴充套件心得 在新配伺服器時發現wkxzecus,php無法連www.cppcns.com接到mysql。通過phpinfo發現。根本沒有顯示mysqli的相關配置。經過一系列研究。總結了下。第一步 在phpinfo裡沒有mysqli配置,原因是安裝php7時沒...

php7 安裝mysqli擴充套件的坑及解決辦法

一 安裝步驟 1 找到php7.2 ext目錄下的mysqli 2 輸入 usr local php7.2 bin phpize 3 在mysqli資料夾下執行 configure with php config usr local php bin php config with mysqli us...

PHP7預編譯mysqli查詢操作

連線資料庫 mysqli new mysqli localhost root root mobilemoms 分為別 主機 資料庫賬戶 密碼 資料庫名 mysqli connect error or die connect sql error mysqli connect error mysqli ...