2016-09-23 186 views
1

我在windows服務器上有一個wordpress網站。我在ubuntu服務器上移動它,但是出現錯誤「您的PHP安裝似乎缺少WordPress所需的MySQL擴展。」我需要安裝php5-mysql

我做了一些研究修復它,並建立「你必須安裝php5-mysql pacakage」。爲什麼?我已經安裝了php-mysql軟件包。

重要說明:在同一臺服務器上有另一個wordpress站點工作良好。

重要提示:Nginx的 - MySQL的 - Php7.0安裝Ubuntu的服務器上

幫我嗎?

+0

如果使用使用PHP5,則應該安裝php5-mysql。 – Evgeniy

+0

不,我用php7。 –

+0

@Evgeniy就像一個FYI,最好使用mysqlnd – Machavity

回答

0

你必須有一種方式來與MySQL交談。只有兩種方法可以做到這一點

  1. 通過MySQL客戶端(即php5-mysql)。這是做這件事的較早的方法。 PHP解綁MySQL,所以這條路線也要求你安裝mysql-client(或其他與你的發行版相同的東西),因爲它通過客戶端與MySQL交談。
  2. 通過MySQL Native Driver(即php5-mysqlnd)。這種方式是首選,因爲它現在是PHP的核心部分。通過這種方式,PHP無需中介即可直接與MySQL進行通信。此外,mysqli的某些部分在安裝時效果更好

聽起來像這是Ubuntu和PHP7。因此,您可能需要類似php7-mysqlnd

+0

嗨,我該如何安裝它? –

+0

我想:sudo apt-get install php7-mysqlnd – Evgeniy

+0

我收到「Unable to locate package php7-mysqlnd」 –

0

Wordpress僅檢查mysql_*函數的可用性。如果你得到這個錯誤,他們不可用。

如果你真的安裝php-mysql元數據包(我希望實際安裝php7.0-mysql),你有mysql國防部提供的Apache mods_available文件夾,它不是簡單地未啓用。您需要添加一個鏈接到mods_enabled並重新啓動服務器。

順便說一下,你可以用php_info()來檢查啓用的mod。

希望這會有所幫助。

+0

我不使用apache服務器,我使用nginx –

+0

然後在NGINX中啓用MySQL mod。 –

+0

我該怎麼辦? @Boris我有一個重要的注意事項「在同一臺服務器上有另一個WordPress的網站很好工作。」 –

0

我有一種感覺,你有2個PHP安裝在你的服務器上,即php5.6和php7.0。由於存在php7.0,並且您似乎沒有使用過(根據您描述問題的方式)自定義source.list來實現此目的,我認爲您已安裝Ubuntu 16.04。

你的Ubuntu 16.04服務器上使用下列命令應該解決這個問題爲您:

apt install php7.0-mysql 
service php7.0-fpm restart 
service nginx restart 

但是,如果您確實安裝了主動PHP5和激活,你應該檢查一下你的php-fpm的游泳池是使用不同的版本。

/etc/php/7.0/fpm/pool.d/www.conf 

此外,您可以更新更多的細節你的問題,你的服務器上運行以下命令,並與我們分享他們的輸出:

lsb_release -a (determines Ubuntu version) 
which php (determines which php is loaded in the command line) 
service --status-all (shows installed services and their status) 

基於你可以尋找到文件選中此在你提供的細節上,我假設有一些與PHP包混合,這應該可以幫助你擺脫這個問題。請注意,以下命令很可能會影響同一臺服務器上的其他網站,並且您應該瞭解此命令在執行之前的功能。實質上,它將刪除您現在擁有的所有php軟件包,然後只安裝php7.0軟件包。

apt update 

apt purge --auto-remove php-common php-fpm php-mysql php7.0-cli php7.0-common php7.0-fpm php7.0-json php7.0-mysql php7.0-opcache php7.0-readline 

apt autoremove -y 
apt autoclean -y 

apt install php7.0-fpm php7.0-mbstring php7.0-xml php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl 
+0

嗨,安裝軟件包; PHP常見安裝 PHP-FPM安裝 PHP,MySQL的安裝 php7.0-CLI安裝 php7.0-common安裝 php7.0-FPM安裝 php7.0 JSON的安裝 php7.0 MySQL的安裝 php7.0-opcache安裝 php7.0-readline安裝 –

+0

我根據您的輸入更新了答案,但我仍然需要知道您運行的是哪個Ubuntu版本..以及您安裝/運行了哪些服務.. – Cninroh

+0

謝謝大家,我的問題解決了。在移動網站之前,我更新了我的WordPress網站的最新版本。 :) –