2016-09-21 410 views
2

在新服務器上,我安裝了PHP 7.0.10和mysql。 當我嘗試連接到使用mysqli_connect()經由一個PHP文件數據庫它提供錯誤消息PHP7給出錯誤「PHP啓動:無法加載動態庫」/ usr/lib64 /php/modules/mysqli.so'

Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /opt/http/blabla/src/class_db.php:19 Stack trace: #0 /opt/http/blabla/src/main.php(17): _Db->connect() #1 {main} thrown in /opt/http/blabla/src/class_db.php on line 19

這是因爲PHP無法加載的MySQL共享對象引起的:

[[email protected] httpd]# php -v PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64 /php/modules/mysqli.so' - /usr/lib64/php/modules/mysqli.so: symbol mysql_change_user, version libmysqlclient_18 not defined in file libmysqlclient.so.18 with link time reference in Unknown on line 0 PHP 7.0.11 (cli) (built: Sep 17 2016 09:23:18) (NTS)

兩個文庫存在:

[[email protected] httpd]# ls -l /usr/lib64/php/modules/mysqli.so /usr/lib64/php/modules/mysqli.so 
-rwxr-xr-x 1 root root 141856 Sep 17 11:39 /usr/lib64/php/modules/mysqli.so 
-rwxr-xr-x 1 root root 141856 Sep 17 11:39 /usr/lib64/php/modules/mysqli.so 

一些配置信息:

# yum list installed 
php70w.x86_64       7.0.10-1.w7 
php70w-cli.x86_64      7.0.10-1.w7 
php70w-common.x86_64     7.0.10-1.w7 
php70w-devel.x86_64     7.0.10-1.w7 
php70w-gd.x86_64      7.0.10-1.w7 
php70w-mysql.x86_64     7.0.10-1.w7 
php70w-opcache.x86_64     7.0.10-1.w7 
php70w-pdo.x86_64      7.0.10-1.w7 
php70w-process.x86_64     7.0.10-1.w7 
mysql55w.x86_64      5.5.50-1.w 
mysql55w-devel.x86_64     5.5.50-1.w 
mysql55w-libs.x86_64     5.5.50-1.w 
mysql55w-server.x86_64    5.5.50-1.w 

# cat /etc/php.d/mysqli.ini 
;Enable mysqli extension module 
extension=mysqli.so 
extension=php_mysqli.so 

有什麼建議? 謝謝。

+0

這很奇怪。它應該在mysql包中。你確定它在'php.ini'中啓用了嗎?你重新啓動了這個過程嗎? – Andrea

+0

確實。在/etc/php.ini中有一個[MySQLi]部分;這一切看起來不錯。 也重新啓動了httpd和mysqld。沒有效果。 – Erik

+0

嗯。你檢查過'phpinfo()'它使用的是你認爲它的PHP ini文件嗎? – Andrea

回答

2

我會評論,但我沒有足夠的分數。您是否嘗試過:

yum -y install php70w-mbstring php70w-mcrypt 

,然後使用連接:

$mysqli = new mysqli('ip', 'user', 'pass', 'db', port); 

我認爲這是沒有安裝足夠的PHP的問題!

+3

某人沒有準確安裝足夠的PHP:D? – JayIsTooCommon

+0

:DDD好了,在安裝'php7.0'和'php7.0-mysql'後,似乎你確實需要安裝'php7.0-mcrypt'和'php7.0-mbstring' ...然後有'php7.0-dev'需要的情況,當然'php7.0-gd' ...我的觀點是,每個這些(https://launchpad.net/ubuntu/+源/ php7.0)需要評估你是否目前或將需要該mod! – Eugene

相關問題