2016-08-29 66 views
1

我有Ubuntu 14.04 EC2實例。我已經安裝了PHP 7。當我執行任何PHP命令如php --version或任何其他。我得到以下錯誤PHP啓動無法加載動態庫/usr/lib/php/20151012/php_mysqli.dll

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_mysqli.dll' - /usr/lib/php/20151012/php_mysqli.dll: cannot open shared object file: No such file or directory in Unknown on line 0 

我曾嘗試以下

  1. 使php_mysqli.dll在php.ini
  2. 使mysqli.so
  3. 使php_mysqli.so
  4. sudo易於得到安裝php-mysql

但沒有爲我工作。

任何建議如何解決這個問題?

回答

4

如果你在Linux上,你不應該有DLL文件,但SO文件。 首先,您必須刪除/禁用您在php.ini中添加的php_mysqli.dll。

爲了使用mysqli的,則應:

  • 安裝包的Ubuntu:apt-get install php-mysql
  • 檢查它是否已經啓用(帶phpinfo()例如)
  • 如果沒有啓用,啓用該模塊 - 檢查/etc/php/mods-available/文件夾中是否存在mysqli.ini,其中包含extension=mysqli.so,然後檢查CLI/FPM/Apache/other是否存在指向此文件的符號鏈接(例如,CLI,/etc/php/cli/conf.d/20-mysqli.ini -> ../../mods-available/mysqli.ini
  • 重啓PHP /阿帕奇/ nginx的你正在使用
+0

我已檢查,這些所有的事情已經完成,但仍然無法正常工作。 – Jass

+0

你有一個新的錯誤? – Julqas

0

什麼php.iniDynamic Extensionsextension=php_mysqli.dll下啓用視。

我通過在行首;extension=php_mysqli.dll處添加一個分號來禁用它。

保存和退出php.ini。重新啓動Apache

這解決了我的錯誤。

0

我最近在ubuntu16.04上遇到過這個問題,我最終通過在extension=php_*.dll之類的每行添加分號來解決它,我想這是因爲ubuntu上的LAMP足夠智能,它會自動打開所有的擴展爲了我們。在Windows上,我們必須通過在php.ini的每行刪除分號(如;extension=php_*.dll)來手動啓用擴展。

1

在我的情況下,它發生了,因爲我取消了運行其他軟件包的php.ini文件中的extension=php_mysqli.dll行。谷歌搜索後,我發現你不應該直接從php.ini取消註釋,而應該安裝所需的PHP擴展,它將完成剩下的工作。

相關問題