Edited at

Amazon Linux AMIでPHPを5.3から5.4にアップグレードする方法 with FuelPHP

More than 3 years have passed since last update.


手順(インストール周り)



  • バックアップを取っておく

    mv /etc/httpd/conf/httpd.conf{,.bk}
    
    mv etc/php.ini{,.bk}



  • rootに変更

    su
    



  • 既存のphpとhttpdの削除

    yum remove php-* httpd-*
    



  • ApachとPHPをインストールする(※Amazon Linuxでは、PHP5.4とApache2.4はセットで使わないといけない)

    yum install httpd24 php54
    



  • PHP extensionsをインストール(※必要に応じて、各自必要なエクステンションを導入すること)

    yum install php54-mysql php54-pdo php54-pecl-memcached php54-mbstring php54-pecl-apc
    

    ※導入できるパッケージは下記で確認可能

    yum list | grep php
    

    ※php-develパッケージをインストールしたい場合、php54-develと指定すること。AWS Linuxではphp-develはPHP5.3に紐付けられているようである。




  • 動作確認

    php -v
    



  • 自動起動設定

    chkconfig httpd on
    



  • 起動

    service httpd restart
    



手順(FuelPHP周り)



  • httpd.confの編集


    /etc/httpd/conf/httpd.conf

    <Directory /var/www/html/fuelphpAPP>
    
    AllowOverride all
    </Directory>

    これで、.htaccessファイルでの設定のオーバーライドが可能になる。

    これを行わないと、自分でhttpd.confを設定しない限り、URLにindex.phpを含めないとアクセスできなくなってしまう。




  • php.iniの設定。下記を行う。


    /etc/php.ini

    [browscap]
    
    ;http://php.net/browscap
    ;browscap = extra/browscap.ini
    browscap = /etc/php.d/lite_php_browscap.ini

    上記を行わないと、phpのログに下記のようなエラーが生じる

    /fuel/core/classes/agent.php on line 524
    
    PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 83 bytes) in APP/fuel/core/classes/agent.php on line 524



その他



  • もとのhttpd.confからVirtualHostの設定部分をコピーしてくる際に下記の部分は削除すること


    /etc/php.ini

    NameVirtualHost *:80
    

    Apache2.4から、このディレクティブは意味なくなったようです。

    ( http://httpd.apache.org/docs/2.4/upgrading.html )