2016-04-03 80 views
7

我已经安装了PHP 7,mysql5.7,Apache2.2,CentOS6。无法在PHP7上安装php-mysqli

而我正在安装CodeIgniter3.0.6。

当我使用的数据库连接, 出现错误,说

A PHP Error was encountered 

Severity: Core Warning 

Message: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/php_mysqli.so' - /usr/lib64/php/modules/php_mysqli.so: cannot open shared object file: No such file or directory 

Filename: Unknown 

Line Number: 0 

当然也有在“/usr/lib64/php/modules/php_mysqli.so”没有文件,但我不知道如何安装mysqli.so。

我试图

yum install php-mysql 

Loaded plugins: fastestmirror, security 
Setting up Install Process 
Loading mirror speeds from cached hostfile 
* base: ftp.iij.ad.jp 
* epel: ftp.riken.jp 
* extras: ftp.iij.ad.jp 
* remi-safe: mirror.awanti.com 
* updates: ftp.iij.ad.jp 
Resolving Dependencies 
--> Running transaction check 
---> Package php-mysql.x86_64 0:5.3.3-46.el6_7.1 will be installed 
--> Processing Dependency: php-common(x86-64) = 5.3.3-46.el6_7.1 for package: php-mysql-5.3.3-46.el6_7.1.x86_64 
--> Finished Dependency Resolution 
Error: Package: php-mysql-5.3.3-46.el6_7.1.x86_64 (updates) 
      Requires: php-common(x86-64) = 5.3.3-46.el6_7.1 
      Installed: php-common-7.0.4-1.el6.remi.x86_64 (@remi-php70) 
       php-common(x86-64) = 7.0.4-1.el6.remi 
      Available: php-common-5.3.3-40.el6_6.x86_64 (base) 
       php-common(x86-64) = 5.3.3-40.el6_6 
      Available: php-common-5.3.3-46.el6_6.x86_64 (updates) 
       php-common(x86-64) = 5.3.3-46.el6_6 
      Available: php-common-5.3.3-46.el6_7.1.x86_64 (updates) 
       php-common(x86-64) = 5.3.3-46.el6_7.1 
You could try using --skip-broken to work around the problem 
You could try running: rpm -Va --nofiles --nodigest 

,并没有奏效。


当我执行 yum install php7.0-mysqlyum install php70w-mysql命令

Loaded plugins: fastestmirror, security 
Setting up Install Process 
Loading mirror speeds from cached hostfile 
* base: ftp.iij.ad.jp 
* epel: ftp.riken.jp 
* extras: ftp.iij.ad.jp 
* remi-safe: mirror.awanti.com 
* updates: ftp.iij.ad.jp 
No package php7.0-mysql available. 
Error: Nothing to do 

我不知道该怎么都做。

+0

http://stackoverflow.com/questions/25872600/yum-install-php-mysql-unable-to-install-centos – Mihai

回答

4

请提醒,mysql扩展deprecated,不与PHP 7

PHP-mysqlnd包只提供mysqlipdo_mysql扩展了存在。

php-pecl-mysql也可从git快照构建,为遗留应用程序提供兼容性,但不受支持。

从原来的问题:

Installed: php-common-7.0.4-1.el6.remi.x86_64 (@remi-php70)

你必须从雷米 - php70安装了PHP 7.0.4,但未启用仓库。你需要启用它,所以yum会找到匹配已安装版本的正确软件包。

Configuration Wizard指令:

yum install yum-utils 
yum-config-manager --enable remi-php70 
yum install php-mysqlnd 

说明:正确的命令来安装一个“foo”的扩展名是荫安装PHP-FOO,所以“荫安装PHP-MySQL的”将安装其提供包mysql extension(so php-pecl-mysql),“yum install php-mysqli”将安装提供mysqli扩展名(如此php-mysqlnd)的软件包。

+0

非常感谢您的回复!我可以用这种方式安装mysqli并使用它!看来我需要研究“yum”,“remi”,“包装”......或类似的东西。 – Ryochan

11

对于PHP7上CentOS的/RHEL

yum install php70w-mysql 

如果使用雷米

yum install php70-php-mysqlnd 

Ubuntu的

apt-get install php7.0-mysql 
+0

谢谢你的评论。 但是,当我执行该命令。 ''' 加载插件:ftp.iij.ad.jp * EPEL:ftp.riken.jp *额外:FTP fastestmirror,安全 设置从缓存HOSTFILE *碱的安装过程 加载镜速度。 iij.ad.jp * remi-safe:mirror.awanti.com * updates:ftp.iij.ad.jp 没有包php7.0-mysql可用。 错误:无事可做 ''' – Ryochan

+0

是的。 '$ cat/etc/centos-release' =>'CentOS release 6.7(Final)' – Ryochan

+0

它不起作用;( – Ryochan