最近、Laravelにハマっています。
普段、WindowsのXampp環境で開発しているのですが、今回、初めてCentOS 7.0環境でLaravelを動かそうとしました。
1 2 |
# php artisan migrate PHP Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /var/www/aaa/artisan on line 31 |
うーん。
ちなみに、Apacheのエラーログもこんな感じになります。
1 |
PHP Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /var/www/aaa/public/index.php on line 50 |
調べてみると、Laravel 5.1はPHPの5.5.9以上が必須のようです。
PHP 5.5.9+
Since PHP 5.4 will enter "end of life" in September and will no longer receive security updates from the PHP development team, Laravel 5.1 requires PHP 5.5.9 or greater. PHP 5.5.9 allows compatibility with the latest versions of popular PHP libraries such as Guzzle and the AWS SDK.
という訳で、現在CentOS 7.0にデフォルトでインストールされていたPHP 5.4をPHP 5.6にアップグレードすることを試みました。
PHP 5.4からPHP 5.6へアップグレードする手順
まず、現状のPHPのバージョンを確認をします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# yum info php インストール済みパッケージ 名前 : php アーキテクチャー : x86_64 バージョン : 5.4.16 リリース : 36.el7_1 容量 : 4.4 M リポジトリー : installed 提供元リポジトリー : base 要約 : PHP scripting language for creating dynamic web sites URL : http://www.php.net/ ライセンス : PHP and Zend and BSD 説明 : PHP is an HTML-embedded scripting language. PHP attempts to make it : easy for developers to write dynamically generated web pages. PHP also : offers built-in database integration for several commercial and : non-commercial database management systems, so writing a : database-enabled webpage with PHP is fairly simple. The most common : use of PHP coding is probably as a replacement for CGI scripts. : : The php package contains the module (often referred to as mod_php) : which adds support for the PHP language to Apache HTTP Server. |
次に、yumのリポジトリであるremiとepelの確認を行います。
1 2 |
# rpm -qa | grep epel # rpm -qa | grep remi |
どちらも入っていないです。
yumでインストールします。
1 2 3 4 5 6 7 8 9 |
# yum install epel-release # yum install remi-release # rpm -qa | grep epel epel-release-7-5.noarch # rpm -qa | grep remi remi-release-7.1-3.el7.remi.noarch |
次に、/etc/yum.repos.d/remi.repoを確認します。
[remi-php56]のところで、enabled=0なら、enabled=1に変更します。
1 |
# yum upgrade php php-common |
これで無事にPHPが5.6になります。
一応、確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# yum info php インストール済みパッケージ 名前 : php アーキテクチャー : x86_64 バージョン : 5.6.17 リリース : 1.el7.remi 容量 : 8.5 M リポジトリー : installed 提供元リポジトリー : remi-php56 要約 : PHP scripting language for creating dynamic web sites URL : http://www.php.net/ ライセンス : PHP and Zend and BSD 説明 : PHP is an HTML-embedded scripting language. PHP attempts to make it : easy for developers to write dynamically generated web pages. PHP also : offers built-in database integration for several commercial and : non-commercial database management systems, so writing a : database-enabled webpage with PHP is fairly simple. The most common : use of PHP coding is probably as a replacement for CGI scripts. : : The php package contains the module (often referred to as mod_php) : which adds support for the PHP language to Apache HTTP Server. |
問題ありませんね。
PHPのサポート
ところでPHPのサポートってどうなっているんでしょうか。
PHPの公式サイトによるとPHP5.4は2015年9月30日でサポート切れ、PHP 5.6は2018年12月31日までサポートのようです。
という訳で、PHP 5.6にアップグレードしておけば当面は大丈夫ですね。
最後まで読んでいただきありがとうござました。
この記事が気に入っていただけたらシェアしてくれると嬉しいです。
コメント