I have installed PHP 7, mysql5.7, Apache2.2, CentOS6.
And I'm installing CodeIgniter3.0.6.
When I use database connection, error occured and said
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
Of course there are no files in '/usr/lib64/php/modules/php_mysqli.so', but I don't know how to install mysqli.so.
I tried
yum install php-mysql
but
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
and it didn't work.
when I execute yum install php7.0-mysql
or yum install php70w-mysql
command,
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
I don't know what to do at all.
For the MySQLi functions to be available, you must compile PHP with support for the MySQLi extension. The MySQLi extension was introduced with PHP version 5.0. 0. The MySQL Native Driver was included in PHP version 5.3.
Check if MySQLi is Installed You can do that by visiting a phpinfo() page that you made, or by running this command: php -m | grep mysqli.
On Windows, for PHP versions 5.3 and newer, the mysqli extension is enabled and uses the MySQL Native Driver by default. This means you don't need to worry about configuring access to libmysql.
For PHP7, on CentOS / RHEL:
yum install php70w-mysql
if you use the Remi repository
yum install php70-php-mysqlnd
for Ubuntu:
apt-get install php7.0-mysql
Please remind that the mysql extension is deprecated and doesn't exists anymore with PHP 7.
The php-mysqlnd package provides only the mysqli and pdo_mysql extensions.
The php-pecl-mysql is also available, build from a git snapshot, provided for compatibility for legacy applications, but is not supported.
From the original question:
Installed: php-common-7.0.4-1.el6.remi.x86_64 (@remi-php70)
You have php 7.0.4 installed from remi-php70, but the repository is not enabled. You need to enabled it, so yum will find the right package matching the installed version.
From the Configuration Wizard instructions:
yum install yum-utils
yum-config-manager --enable remi-php70
yum install php-mysqlnd
Notice: the correct command to install an "foo" extension is yum install php-foo, so "yum install php-mysql" will install the package which provides the mysql extension (so php-pecl-mysql), "yum install php-mysqli" will install the packages which provides the mysqli extension (so php-mysqlnd).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With