Ubuntuマシンでphp 5.5.9を5.6に更新しようとしています。
しかし、実行すると:
Sudo add-apt-repository ppa:ondrej/php5-5.6
私は得ています:
Cannot add PPA: 'ppa:ondrej/php5-5.6'.
Please check that the PPA name or format is correct.
どうすれば修正できますか?
私が走った:
Sudo add-apt-repository ppa:ondrej/php
Sudo apt-get update
Sudo apt-get install php5
しかし、実行すると:
php5 -v
私はまだPHP 5.5.9を取得します:
PHP 5.5.9-1ubuntu4.20 (cli) (built: Oct 3 2016 13:00:37)
最初に正しいPPAを追加し、次の操作を行います
Sudo add-apt-repository ppa:ondrej/php
Sudo apt-get update
Sudo apt-get -y install php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-mysql php5.6-Gd php5.6-intl php5.6-xsl php5.6-Zip
php5.6のインストールで同じ問題が発生した後、上記の手順を実行しました。
@tanveerahmaddarの答えは重要な情報を提供しますが、Ubuntu 12.04にPHP 5.6をインストールする正しい方法は次のとおりです。
重要:WebサイトでPHP5.6を使用する予定がある場合(おそらくこれを希望します)、Ubuntu 12.04に付属していないApache 2.4にアップグレードする必要があります(以下のApacheのアップグレードについて説明します)
ステップ1:バージョンの確認
# check PHP version
php -v
# check Apache version
Apache2 -v
Apacheバージョンが2.2の場合、ステップ2に従ってください。バージョンが2.4の場合は、手順3に進みます
ステップ2:PHP5.6 +リポジトリを追加し、パッケージリストを更新する
add-apt-repository ppa:ondrej/Apache2
apt-get update
apt-get upgrade
この手順では、Apacheを2.2から2.4にアップグレードします。必要に応じて、Apacheを再構成します。 既存のApache構成、有効なサイトおよびmodをバックアップします。一部のmodを再インストール/アップグレードする必要がある場合があります。
ステップ3:PHP5.6 +リポジトリを追加する
add-apt-repository ppa:ondrej/php
apt-get update
ステップ4:PHP 5.6をインストールする
apt-get install -y php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-mysql php5.6-Gd php5.6-intl php5.6-xsl php5.6-Zip libapache2-mod-php5.6
これにより、PHP 5.6とcURL(php5.6-curl
)やGd(lib5.6-Gd
)などの一般的なパッケージがインストールされ、Apache 2.4でPHP 5.6が有効になります。 (libapache2-mod-php5.6
)。
Apacheはプロセス中に再起動されます。
それがあなたがしなければならないすべてのステップです。
ヒント:代わりにPHP 7(off-topic)にアップグレードする場合は、手順3の後に次のコマンドを発行します(ステップ4)をスキップします。
apt-get dist-upgrade
最後の言葉:Ubuntu 12.04でPHP 5.6にアップグレードすることはお勧めしません。Apacheを2.4にアップグレードする必要があるためです。 Ubuntu 14.04にはApache 2.4が付属しており、PHP 5.6をアップグレードする方がはるかに簡単です。
これは私にとって完璧に機能します。以下を実行して、最初に正しいPPAを追加します
Sudo add-apt-repository ppa:ondrej/php
Sudo apt-get update
Sudo apt-get -y install php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl
php5.6-cli php5.6-mysql php5.6-Gd php5.6-intl php5.6-xsl php5.6-Zip
PHP 5.5.3または5.5.9モジュールを無効にする
a2dismod php5
インストールしたばかりのphp5.6モジュールを有効にする
a2enmod php5.6
最後に、Apacheを再起動します
Sudo service Apache restart
@tanveer ahmad darはそのほとんどを強調しました。
これは私のUbuntu Server 14.04.5 LTSで機能しました
a2dismod php5
a2enmod php5.6
Apache2ctl restart