🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Joomla!

Joomla!は、Webやイントラネットにおいてコンテンツを公表する為の、オープンソースのコンテンツ管理システム(CMS)です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

2230閲覧

Joomlaのphpバージョンアップの方法

yoshi-bad

総合スコア12

Joomla!

Joomla!は、Webやイントラネットにおいてコンテンツを公表する為の、オープンソースのコンテンツ管理システム(CMS)です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/11/23 19:31

AWS上にubuntuをOSとしてJoomla!を稼働させています。
最近、Joomla!の画面上に、phpのアップデートを促すメッセージが出てきています。
これに対応したいのですが、どうすればよいのでしょうか。

なお、Joomla!が使用しているphpは7.2.27で
Tera TermでAWSのインスタンスにログインしてphpのバージョンを調べると(php -v)、7.3.24と表示されます。

また、dockerを使ってJoomla!をインストールしたのですが、「sudo docker run -it php:7.0-alpine /bin/sh」を実行した後に「php -v」を実行すると、phpのバージョンは、7.0.33と表示されます。

どうもOSに標準でインストールされているバージョンのphpを使っている気がするのですが、
どうやったらphpのバージョンアップができるでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/11/23 20:16

つまり「複数のPHPバージョンが入っていて向き先を変える」ということでしょうか。 そのままキーワードになりませんか?
guest

回答1

0

ベストアンサー

「sudo docker run -it php:7.0-alpine /bin/sh」を実行した後に「php -v」を実行すると、phpのバージョンは、7.0.33と表示されます。

わざわざphp7.0台のイメージのコンテナのphpのバージョンを確認したらそりゃ7.0台のバージョンが表示されますよね…。

dockerを使ってJoomla!をインストールしたのですが

公式イメージを使っているなら、既に7.3以上に対応したものが存在するのでそちらを使うのが早いかと思います。
joomla

そうでないなら、どのようにして構築したのか、使ったDockerfile等々を貼ってください。
Dockerを使っているなら、コンテナで使用するphpのバージョンを上げないと意味がないので、Dockerイメージのほうで対応する必要があります。

投稿2020/11/24 03:18

yu_1985

総合スコア7588

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoshi-bad

2020/11/24 10:08

yu_1985様 使用したDockerファイル、docker-compose.ymlを貼ります。 アドバイス、お願いします。 Dockerファイル FROM alpine:3.7 WORKDIR / RUN apk update \ && apk add --no-cache apache2 php7-apache2 php7-mysqli php7-pdo php7-session php7-mbstring php7-mcrypt php7-curl php7-json php7-xml php7-simplexml php7-zip php7-gd openssl openrc unzip \ && rm -rf /var/cache/apk/* \ && wget -O joomla.zip https://downloads.joomla.org/cms/joomla3/3-6-5/Joomla_3-6-5-stable-full_package-zip?format=zip \ && mkdir -p /opt/joomla \ && unzip joomla.zip -d /opt/joomla \ && rm -f joomla.zip \ && chown -R apache:apache /opt/joomla \ && mkdir -p /run/apache2 \ && ln -s /opt/joomla /var/www/localhost/htdocs EXPOSE 80 VOLUME /opt/joomla CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"] docker-compose.yml version: "2" services: joomla: image: joomla container_name: "joomla" volumes: - "joomla-data:/opt/joomla" ports: - "80:80" depends_on: - db environment: JOOMLA_DB_HOST: "db:3306" db: image: mysql:5.7 command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci container_name: "joomla-db" volumes: - "db-data:/var/lib/mysql" environment: MYSQL_DATABASE: joomla MYSQL_ROOT_PASSWORD: joomla phpmyadmin: image: phpmyadmin/phpmyadmin environment: - PMA_ARBITRARY=1 - PMA_HOST=db - PMA_USER=root - PMA_PASSWORD=joomla links: - db ports: - 8080:80 volumes: - /sessions volumes: db-data: driver: local joomla-data: driver: local
yu_1985

2020/11/24 10:11

コメントではなく本文にコードブロックで追記してください(見づらいので)
yu_1985

2020/11/24 10:15

php:7.0-alpineはどこにも登場しないですが、なぜphp:7.0-alpineのバージョンを確認したのでしょう? alpineは明示的に3.7を使っていますが、現在のlatestは3.12です。古いバージョンを使わなければいけない理由が特にないのであれば新しいバージョンを使ってはどうでしょう? 手元で確認したところ、3.7でphp7を入れたら7.1が入りましたが、最新版でphp7を入れたら7.3が入りました。
yoshi-bad

2020/11/24 14:29

yu_1985様 すいません。コードブロックの入れ方がわからなかったもので… 古いバージョンを使用していることに特に意味はありません。 開発当時の資料はそれが一番新しかったもので。 初歩的な質問で申し訳ないのですが、Dockerを入れなおすということは、既存のサイトはバックアップを取って、入れ替える必要があるのでしょうか?
yu_1985

2020/11/24 14:53

ヘルプを見るか、それでなくても入力画面を見るかすればすぐわかると思うのですが、さすがにそれでわからないとなると説明しても大して変わらないです…。 別にここに限らず一般的なMarkdownでの書き方なので普通に覚えておいて損はないのでちゃんと調べてみてください。 > volumes: - "joomla-data:/opt/joomla" > "db-data:/var/lib/mysql" いずれも上記のようにコンテナの外にボリュームアタッチしてそこにデータや関連ファイル保存していると思われるのと、そもそも入れ替えるのはjoomlaが入っているほうのコンテナだけなので必要ないと思います。 もちろんバックアップを取っておくこと自体は悪くないですけれど。 コンテナを入れ替えたら正常に表示できなくなるとすればそもそもの構成かコンテナの中身に問題がある状態でしょう。 docker-compose.ymlのほうで使っているイメージが記載のDockerfileによって作られたものか判別する術がないですが、joomlaのほうがDockerfileで作ったイメージ、mysqlのほうはおそらく公式イメージを指定しているんでしょうかね。 Dockerfileを更新してイメージビルドし、docker-composeでコンテナを作り直せばそれだけかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問