web-dev-qa-db-ja.com

Ubuntu 18.04にPHP5をインストールします

古いPHPツールを実行していますが、これはPHP7に簡単に適応できません。そのため、サーバーでPHP5を実行する必要があります。

Ubuntu Bionic BeaverにPHP5をインストールするにはどうすればよいですか?

19
rubo77

PHP 5.6を継続することはお勧めしません。5.6は2010年1月以降EOLです!

ただし、PPAからPHP5.6をインストールできます。

Sudo add-apt-repository -y ppa:ondrej/php
Sudo apt update
Sudo apt install php5.6

ソース: https://askubuntu.com/a/762161/34298

32
rubo77

コンテナでPHP 5ツールを実行することを検討してください。 Docker。 PHP 5はサポート終了に近づいています。同じマシンでPHP 7を使用すると、競合が発生する可能性があります。

PHP 5で使用できる公式のDockerイメージがいくつかあります。 https://hub.docker.com/_/php/

1
Abry Rath

他の回答で述べたように、いくつかの選択肢:

  • Ondrej/php PPAリポジトリを使用してPHP 5.6をインストールします。

このような:

Sudo add-apt-repository -y ppa:ondrej/php
Sudo apt update
Sudo apt install php5.6
  • DockerまたはLXDコンテナーシステムを使用して小さなPHP 5環境を構築し、Ubuntu 18.04内で実行し、PHP 5を必要とするすべてのWeb要求を転送します。実際にUbuntu 12.04または14.04のVM全体をlxd-p2cを使用してコンテナに変換し、Ubuntu 18.04内で実行できると聞きました。このプレゼンテーションのように: "Turning physicalシステムコンテナーへの移行システムコンテナーへの移行 "

  • 2番目のサーバー(またはVM)をセットアップし、PHP 5を必要とするサイトへのリクエストをプロキシするために18.04メインシステムにApacheを配置することもできます。 18.04システムは外部に公開されるため、このシステムはWebアクセス可能である必要はありません。 register_globalsが必要な場合は、正式にサポートされなくなったPHP 5.3.2のUbuntu 12.04、または最初にコードスニペットを使用したPHP 5.5.9のUbuntu 14.04を使用できます。 register_globalsをエミュレートするすべてのファイルの。コードスニペットは忘れましたが、調べることができます。構成の残りが適切であり、必要なmodが有効になっていると仮定して、あるサーバーから別のサーバーにSSLサイトをプロキシするためにおそらく機能する関連構成ファイルを次に示します。

Ubuntu 18.04 Apacheサーバーで192.168.1.2でプロキシを実行する場合:

#requires mod_remoteip and mod_proxy
RemoteIPHeader X-Forwarded-For
TrustedProxy 192.168.1.2

SSLProxyEngine On
ProxyPreserveHost On
ProxyPass / https://example.org/ retry=0
ProxyPassReverse https://example.org/ retry=0

192.168.1.3にプロキシされるUbuntu 14.04サーバーでは:

#requires mod_proxy
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 192.168.1.2 
RemoteIPInternalProxy 192.168.1.1 #assuming your router IP is 1.1
1
RedScourge