読者です 読者をやめる 読者になる 読者になる

PHP 7.0 で Roundcebe 1.1.3 は動かなかった話

私は普段、オープンソースのWebメールソフトウェア「Roundcube」を利用しています。

振り分け機能など、プラグインが多くてインストールも簡単なので非常に便利です!!

そんな、Roundcubeの最新版が9月にリリースされました。知ってはいましたが、現状に不満もないので・・・放置。

 

12月になり、PHP 7.0 がリリースされました。PHP 7.0は以前のバージョンに比べて、なんか早いらしい(テキトー)と噂を聞きました。

PHP 7.0 に興味がわいたので、RoundcubeとPHPをバージョンアップすることにしました。

 

ちなみに結論から言うと Roundcube 1.1.3 は、PHP 7.0 で動作しませんでした。

 

 

作業環境
OS: CentOS 7.1
Webserver: Nginx 1.6.3

 

 

最新版 Roundcubeをダウンロード

まず、Roundcube 1.1.3のダウンロードから。以下URLからゲットしました。

# wget http://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.1.3/roundcubemail-1.1.3.tar.gz

 

PHPのバージョンアップ

PHP 7.0 を簡単にインストールするには、ELEPとRemiのリポジトリを追加するだけ。

# yum install -y epel-release
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

 

あとは、レポジトリを指定してPHP 7.0 をインストールするだけ。

# yum install --enablerepo=remi-php70 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-gd php-ldap

 

 

エラーメッセージ

PHP 7.0 をインストールし終え、ブラウザからWebmailにアクセスしログインすると

画面が真っ白!

Nginxのエラーログには、以下のメッセージが出力されていました。

Warning: Declaration of rcmail::get_instance($env = '') should be compatible with rcube::get_instance($mode = 0, $env = '') in mail/program/include/rcmail.php on line 30

 

PHPよくわからない・・・ひたすらググる!!以下のサイト発見!!

http://trac.roundcube.net/ticket/1490544

Bugなのか。じゃあどうすればいい!?

ちゃんと読むと、1.2-betaならバグは修正されていると書いてある。

 

 

Roundcubeベータ版をダウンロード

ベータ版は、以下URLからゲットしました。

wget http://downloads.sourceforge.net/project/roundcubemail/roundcubemail-beta/1.2-beta/roundcubemail-1.2-beta.tar.gz

 

 

解決

ダウンロードしたRoundcubeベータ版をドキュメントルートに解凍し、再度ブラウザからアクセスしログインすると

メールボックスが表示されました!

 

ちなみに今回のバグは、Roundcube 1.1.4では修正されるようです。