私は基本的にPHP
開発者です。現在、ローカルマシンでbuntu Linux 12.04 LTSを使用しています。
PHP
プロジェクトの開発に次のPHP
バージョンを使用しています。
php -v //command run at terminal to know the `PHP` version installed
PHP 5.3.10-1ubuntu3.13 with Suhosin-Patch (cli) (built: Jul 7 2014 18:54:55)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
数日後、PHP
開発チームによってPHP
バージョン(PHP 5.6.0
)の新しい最新の安定版リリースがリリースされました。
私の質問は、ローカルマシンで古すぎるPHP
バージョンを使用していることと、5.4
より前のすべてのPHP
バージョンが正式にサポートされていないか、発表されていることです。人生、PHP 5.6.0
に行くべきですか?
答えが「はい」の場合、その方法を教えてください。この移行後、プロジェクトで記述したコードは正しく機能しますか?どのような変更を行う必要がありますか?
答えが「いいえ」の場合、その理由を詳しく説明してください。
この質問をする前に、GoogleおよびPHP
のドキュメントを確認しました。次のバージョンの移行に関する移行のメモが見つかりました。
**5.3.x->5.4.x
5.4.x->5.5.x
5.5.x->5.6.x**
PHP 5.3.10
からPHP 5.6.0
への移行方法がわかりませんでした。
だから誰かがこの点で私を助けてくれますか?
私の問題に関する詳細情報が必要な場合は、お知らせください。
TL; DR PHP= 5.3.xは、Ubuntuによるセキュリティアップグレードを引き続き取得しますが、新しいバージョンでは14.04.1にアップグレードします
PHP 5.6のソースをWebサイトからダウンロードしてビルド/インストールすることはできますが、システム上の他のパッケージがインストールされないため、システムの安定性が失われるリスクがあるため、ダウンロードしないでくださいこのバージョン用に設計されており、新しいバージョンがリリースされるたびに手動でアップグレードする必要があります。パッケージマネージャーを使用する場合のように迅速にアップグレードされないため、これらのアップグレードがセキュリティ関連である場合は安定性のリスクがあります。
代わりに、ディストリビューションをUbuntu 14.04.1にアップグレードすることをお勧めします。これには、PHP 5.5.9; 5.3.10よりかなり新しいバージョンが含まれています。もちろん、5.3.xは、 Ubuntu 12.04はEOLに到達しましたが、最新の機能が必要な場合は、dist-upgradeする必要があります。これは、Ubuntuソフトウェアアップデーターでグラフィカルに行うか、TTYでapt-get dist-upgrade
をrootとして(たとえば、Sudo
を使用して)実行できます。サーバーバージョンを使用しています更新:代わりにSudo do-release-upgrade
を使用してください。
編集:明確にするために、apt-getはパッケージマネージャーです。通常、グラフィカルツールを使用してパッケージ(ubuntuソフトウェアセンター、シナプスなど)をインストールおよび更新する場合、いくつかの簡単なコマンドを次に示します。 #
は、ルートとして実行する必要があることを示します(Sudo apt-get install <package>
など)。$
は、Sudo
が不要であることを示します。使用したいものに置き換えてください(例:apt-get install chromium-browser
)
#
apt-get update
はリポジトリを更新します#
apt-get upgrade
はを新しいパッケージにアップグレードします(最初に上記を実行してください!)#
apt-get upgrade <package>
は上記と同様ですが、単一のパッケージのみをアップグレードします(特別な理由がない限り、それほど役に立ちません)。#
apt-get install <package>
はパッケージをインストールします#
apt-get remove <package>
はパッケージを削除します#
apt-get autoremove
は、依存関係によってインストールされ、不要になったパッケージを自動的に削除します$
apt-cache search <query>
は、指定したクエリを検索します$
apt-cache show <package>
はパッケージの情報を表示します#
yes "" | apt-get install <package>
は、すべてに対するデフォルトの回答に答えるパッケージをインストールします(多くのコマンドでyes
を使用できます)#
apt-get dist-upgrade
は、通常は抑制されている場合、すべてをアップグレードします(一部のパッケージを削除します)。
PHP 5.5.9をパッケージとして取得し、Ubuntuのアップグレードを利用するには、Ubuntu 14.04.1にアップグレードします。本番環境では5.6.0を使用しません。
this PHP page から、5.3から5.4および5.4から5.5への移行に関する情報を取得します。
上記の変更と新機能に加えて、PHPチームは5.3と5.5.9の間のメモリ管理と最適化に取り組んできました。これらの改善だけで移行の動機が生まれました。
移行のためのアドバイス
APC:PHPはAPCの代わりとしてOPCacheを埋め込みます。APC変数を使用した場合、 OPCache に関するいくつかの情報が利用可能です-私の場合、古いAPCを使用して新しいモジュール(名前の変更)、php5-apcu
( 'u'に注意)は、最良の代替手段でした。
モジュールは別のディレクトリにインストールされました。 php.ini
extension_dir
調整が必要な場合があります
加えて /etc/php5
dirは、構造の点でより厳しいです:その下ではdirはmods-available
(àlanginx)これには、iniファイルのモジュールのリストが含まれています。次に、cli
、fpm
、Apache2
... dirsはconf.d
そのメインへのシンボリックリンクを持つdir mods-available
モジュールiniファイル;そのモジュールをそのPHP構成に使用するつもりである場合にのみリンクを追加します(たとえば、mysqli
はcli
には必要ない場合があります)。
JSON:モジュールphp5-json
をインストールする必要があります(apt-get install php5-json
)PHP JSON関数(json_encode
、decode
...)
リンクに問題があるようです/etc/php5/MODE/php.ini
(MODEはcli
、...)をmainphp.iniのどこかに(例えばfpm
に) )-Ubuntuの更新中にエラーが発生してインストールができません-私の場合、すべてのモードで同じであるため、php.iniをコピーしただけです。
その上、移行はスムーズに進みました。