2014/07/23 coreserverのアプリケーションがバージョンアップされた。内容は以下の通り

作業内容
-ウェブサーバーのバージョンアップ(Apache2.2系へ変更)
-標準のPHPのバージョンアップ(PHP5.2系からPHP5.3系へ変更)
-FastCGI版PHP5.3、5.4、5.5の提供
-CGI版PHP5.2、5.3、5.4、5.5の最新版へのアップデート
-セーフモードの解除
-お客様サイト内のユーザー所有者「apache」のファイルをユーザー様へ変更

既存のPHPスクリプトで動かないものが多数出た。

スクリプトを変更して対応する時間が無いため、以下の作業対応

*PHP5.2で動くようにする [#w6e22009]

何もしないとFastCGI版5.3系で動くためエラーがでるスクリプト続出

**CGI版PHP5.2として動かす [#jf65fc16]

動かしたいディレクトリに .htaccess ファイルを作成し以下を記述

 AddHandler application/x-httpd-php52cgi .php

**エラーを表示する [#k13fcf83]

CGI版PHP5.2のエラー表示をどうするのかcoreserverのヘルプに書かれていない。
サポートに質問して以下の解答を得た。

 CGI版PHP5.2を使用している場合の PHP設定の方法につきましては、以下の場所で行う仕様となっております。 
 
 /public_html/.fast-cgi-bin/php.ini 
 
 上記 php.ini ファイルに 
 
 display_errors = On 
 error_reporting = E_ALL & ~E_NOTICE 
 
 を記述していただければと存じます。 
 
 ただし、誠に恐れ入りますが、上記 php.ini は特殊な設定ファイルであり、CGI版PHP で動かしている全てのPHPスクリプトに影響が及びますので、ご注意いただければと存じます。 
 
レンタルサーバ内すべてのスクリプトがエラー表示されてしまう。まあ、しょうがないかな。

*Apache2.2の影響 [#bda153a0]

apacheのバージョンアップも影響があった。rewrite の書き方が変わっているためフレームワークの「codeigniter」を使用しているPHPスクリプトが動かなかった。

**codeigniterのapache2.2への対応 [#zd5609a3]

RewriteRuleのルールの書き方を変更

旧

 RewriteEngine on
 RewriteCond $1 !^(index\.php|images|robots\.txt)
 RewriteRule ^(.*)$ /index.php/$1 [L]


新

 RewriteEngine on
 RewriteCond $1 !^(index\.php|images|robots\.txt)
 RewriteRule ^(.*)$ /index.php?/$1 [L]

index.php のあとに ? マークを挿入

これはバージョンアップ案内メールの「[[重要な仕様変更について:http://www.coreserver.jp/info/20140604.html#specChange]]」に書かれていた。


*雑感 [#y6d8c7fc]

その他PEARライブラリなども全部動かなくなった。

PHPは下位互換をあまり大事にしていないためしょうがない。
この下位互換の無いところが今PHPの人気が落ちている大きな原因。
この下位互換の無いところが今PHPの人気が落ちている大きな原因だと思う。





[[レンタルサーバ]]
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS