2017-06-07 8 views
0

PHP 5.3.29がインストールされているサーバーにJoomla 3.3.3があります。PHPのバージョンを変更した後、JoomlaがMySQLに接続できません

ホスティングチーム(Hostgator)にPHP 5.5.28を横並びにインストールするよう依頼しました。彼らは、タスクが完了した私に言ったとき

が、私は.htaccessファイルの先頭に以下の行を追加:その後

# PHP 5.5 
AddHandler application/x-httpd-php55 .php 
<IfModule mod_suphp.c> 
suPHP_ConfigPath /opt/php55/lib 
</IfModule> 

、両方の前で、私はページをロードしようとしましたが、このエラーが示されました。管理ページで終了します。

.htaccessで追加された行を削除すると、サイトは再び動作します。

ここで何が起こっている可能性がありますか?

答えて

1

それはあなたが簡単phpinfo script使用してPHPのバージョンを比較することができ、彼らはMySQL拡張をインストールしていないのかもしれ:PHP 5.3とPHP 5.5とスクロールの両方を使用して、ブラウザでこれを

<?php 
phpinfo(); 

ファイル名を指定して実行'mysql/mysqli/mysqlnd'セクションを開きます。このセクションは、mysql拡張機能がインストールされているかどうかを表示します。ホストに接続していない場合は追加してください。

あなたはVPSまたは同様に実行している場合は、パッケージの違いを確認するためにapt/dnf/yumを確認することができます。

  • apt list --installed | grep php
  • dnf list --installed | grep php
  • yum list installed | grep php

php53-という接頭辞が付いたパッケージがたくさんある

[email protected] ~ $ brew list | grep php 
php56 
php56-mcrypt 
php56-memcache 
php56-mongo 
php56-xdebug 
php71 
php71-xdebug 
:あなたは私が醸造して一覧表示している場合、私は php56php71のためにインストールしたパッケージの間に明確な差がある、(OSX上のBREWを使用して)例えば、不足しているパッケージをインストールするためにそれらを求めることができる php55-とわずか数はd

この場合、ホストにphp71-mcrypt,php71-memcacheおよびphp71-mongoまたは同等のものをインストールするよう依頼します。

+0

それは奇妙です。唯一受け入れられたコマンドは "yum list installed | grep php"でした。私がそれを実行したときには、 "cpanel-php54"で始まるパッケージだけがリストされていました。たとえば、 "cpanel-php54.i386 5.4.31-4.cp1156 installed" – jstuardo

+0

ところで... phpinfoはPHP 5.3でのみ動作します。 PHP 5.5に変更すると、Joomlaはphpinfoの実行を傍受してエラーを表示します。私はmysqliにドライバを変更したので、何も接続エラーが発生しませんが、空白のページだけが表示されているので、このサーバのMySQLで何か問題があることが判明しました: - (.....奇妙なのは、この同じアプリケーションが私のmysqlドライバが設定されたPHP 5.5.28である開発サーバでうまく動作することです。 – jstuardo

+0

白い画面ではerror_logを確認してください。mysqliに変更するとサーバが500エラーを投げている可能性があります。 – sjdaws

0

通常、(あなたのシナリオで)この問題の最も一般的な理由は、mysql [i]パッケージがインストールされているPHPのバージョンと互換性がない場合です。通常、ホストは問題を処理します(私はそれについてバグします)。

現在のCentOS環境にmysqliののインストールを確認することができます。http://php.net/manual/en/mysqli.installation.php

関連する問題